Subversion Repositories HomeAutomation

Rev

Rev 56 | Rev 73 | Go to most recent revision | 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 Oct 29 20:04:53 2006


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:        uart.c                                                       F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            *                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            * Author               Date    Comment                                          F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            * Johan Böhlin     21-10-06    Original        (Rev 1.0)                          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
0009c6   8e94     BSF       0x94,0x7,0x0        TRISCbits.TRISC7=1;                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009c8   9c94     BCF       0x94,0x6,0x0        TRISCbits.TRISC6=0;                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009ca   0e20     MOVLW     0x20                TXSTA=0b00100000;                                                              F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009cc   6eac     MOVWF     0xac,0x0                                                                                        
                                                #ifdef HIGH_BRG                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009ce   84ac     BSF       0xac,0x2,0x0            TXSTAbits.BRGH=1; // High BRG speed                                           F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009d0   86b8     BSF       0xb8,0x3,0x0            BAUDCONbits.BRG16=1;                                                          F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009d2   6ab0     CLRF      0xb0,0x0                SPBRGH = SPBRGH_VAL;                                                          F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009d4   0e55     MOVLW     0x55                    SPBRG = SPBRG_VAL;                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009d6   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
0009d8   0e90     MOVLW     0x90                RCSTA=0b10010000;                                                              F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009da   6eab     MOVWF     0xab,0x0                                                                                        
                                                                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                                // USART RX interrupt                                                          F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009dc   9a9e     BCF       0x9e,0x5,0x0        PIR1bits.RCIF=0;                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009de   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
0009e0   8a9f     BSF       0x9f,0x5,0x0        IPR1bits.RCIP=1;                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009e2   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
0009e4   cfd9     MOVFF     0xfd9,0xfe6    void uartPutc(BYTE c)                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009e6   ffe6                                                                                                               
0009e8   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0009ea   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            // Write the data byte to the USART                                             F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009ec   0efe     MOVLW     0xfe            TXREG = c;                                                                      F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009ee   50db     MOVF      0xdb,0x0,0x0                                                                                    
0009f0   6ead     MOVWF     0xad,0x0                                                                                        
0009f2   d84b     RCALL     0xa8a           while(uartBusy());                                                              F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009f4   0900     IORLW     0x0                                                                                             
0009f6   e001     BZ        0x9fa                                                                                           
0009f8   d7fc     BRA       0x9f2                                                                                           
0009fa   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
0009fc   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0009fe   ffd9                                                                                                               
000a00   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
000a02   cfd9     MOVFF     0xfd9,0xfe6    void uartPuts(BYTE c[])                                                          F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a04   ffe6                                                                                                               
000a06   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000a08   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
000a0a   d83f     RCALL     0xa8a               while(uartBusy());                                                          F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a0c   0900     IORLW     0x0                                                                                             
000a0e   e001     BZ        0xa12                                                                                           
000a10   d7fc     BRA       0xa0a                                                                                           
000a12   0efd     MOVLW     0xfd                uartPutc(*c);                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a14   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000a16   ffe9                                                                                                               
000a18   0efe     MOVLW     0xfe                                                                                            
000a1a   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000a1c   ffea                                                                                                               
000a1e   50ef     MOVF      0xef,0x0,0x0                                                                                    
000a20   6ee6     MOVWF     0xe6,0x0                                                                                        
000a22   dfe0     RCALL     0x9e4                                                                                           
000a24   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000a26   0efd     MOVLW     0xfd                } while( *c++ );                                                              F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a28   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000a2a   ffe9                                                                                                               
000a2c   2adb     INCF      0xdb,0x1,0x0                                                                                    
000a2e   0efe     MOVLW     0xfe                                                                                            
000a30   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000a32   ffea                                                                                                               
000a34   e301     BNC       0xa38                                                                                           
000a36   2adb     INCF      0xdb,0x1,0x0                                                                                    
000a38   50ef     MOVF      0xef,0x0,0x0                                                                                    
000a3a   e1e7     BNZ       0xa0a                                                                                           
000a3c   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a3e   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000a40   ffd9                                                                                                               
000a42   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
000a44   cfd9     MOVFF     0xfd9,0xfe6    void uartPutrs(const rom char *c)                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a46   ffe6                                                                                                               
000a48   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000a4a   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
000a4c   d81e     RCALL     0xa8a               while(uartBusy());                                                          F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a4e   0900     IORLW     0x0                                                                                             
000a50   e001     BZ        0xa54                                                                                           
000a52   d7fc     BRA       0xa4c                                                                                           
000a54   0efd     MOVLW     0xfd                uartPutc(*c);                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a56   cfdb     MOVFF     0xfdb,0xff6                                                                                     
000a58   fff6                                                                                                               
000a5a   0efe     MOVLW     0xfe                                                                                            
000a5c   cfdb     MOVFF     0xfdb,0xff7                                                                                     
000a5e   fff7                                                                                                               
000a60   0008     TBLRD                                                                                                     
000a62   50f5     MOVF      0xf5,0x0,0x0                                                                                    
000a64   6ee6     MOVWF     0xe6,0x0                                                                                        
000a66   dfbe     RCALL     0x9e4                                                                                           
000a68   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000a6a   0efd     MOVLW     0xfd                } while( *c++ );                                                              F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a6c   cfdb     MOVFF     0xfdb,0xff6                                                                                     
000a6e   fff6                                                                                                               
000a70   2adb     INCF      0xdb,0x1,0x0                                                                                    
000a72   0efe     MOVLW     0xfe                                                                                            
000a74   cfdb     MOVFF     0xfdb,0xff7                                                                                     
000a76   fff7                                                                                                               
000a78   e301     BNC       0xa7c                                                                                           
000a7a   2adb     INCF      0xdb,0x1,0x0                                                                                    
000a7c   0008     TBLRD                                                                                                     
000a7e   50f5     MOVF      0xf5,0x0,0x0                                                                                    
000a80   e1e5     BNZ       0xa4c                                                                                           
000a82   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a84   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000a86   ffd9                                                                                                               
000a88   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
000a8a   50ac     MOVF      0xac,0x0,0x0    return !TXSTAbits.TRMT;                                                         F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a8c   0b02     ANDLW     0x2                                                                                             
000a8e   0a02     XORLW     0x2                                                                                             
000a90   e001     BZ        0xa94                                                                                           
000a92   0e01     MOVLW     0x1                                                                                             
000a94   d000     BRA       0xa96                                                                                           
000a96   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
000a98   50ae     MOVF      0xae,0x0,0x0    return RCREG;                                                                     F:\MCP\projects\CAN\canToSerial\Source\uart.c
000a9a   d000     BRA       0xa9c                                                                                           
000a9c   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
000a9e   509e     MOVF      0x9e,0x0,0x0    if (PIR1bits.RCIF==1 && PIE1bits.RCIE==1)                                       F:\MCP\projects\CAN\canToSerial\Source\uart.c
000aa0   0b20     ANDLW     0x20                                                                                            
000aa2   e00d     BZ        0xabe                                                                                           
000aa4   509d     MOVF      0x9d,0x0,0x0                                                                                    
000aa6   0b20     ANDLW     0x20                                                                                            
000aa8   e00a     BZ        0xabe                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
000aaa   a2ab     BTFSS     0xab,0x1,0x0        if (RCSTAbits.OERR) { RCSTAbits.CREN=0; RCSTAbits.CREN=1; }                    F:\MCP\projects\CAN\canToSerial\Source\uart.c
000aac   d002     BRA       0xab2                                                                                           
000aae   98ab     BCF       0xab,0x4,0x0                                                                                    
000ab0   88ab     BSF       0xab,0x4,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
000ab2   dff2     RCALL     0xa98               uartParse(uartGet());                                                          F:\MCP\projects\CAN\canToSerial\Source\uart.c
000ab4   6ee6     MOVWF     0xe6,0x0                                                                                        
000ab6   ece8     CALL      0x7d0,0x0                                                                                       
000ab8   f003                                                                                                               
000aba   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000abc   9a9e     BCF       0x9e,0x5,0x0        PIR1bits.RCIF=0;                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            }                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
000abe   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
000ac0   a2ab     BTFSS     0xab,0x1,0x0    if(RCSTAbits.OERR)                                                              F:\MCP\projects\CAN\canToSerial\Source\uart.c
000ac2   d002     BRA       0xac8                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
000ac4   98ab     BCF       0xab,0x4,0x0        RCSTAbits.CREN = 0;                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
000ac6   88ab     BSF       0xab,0x4,0x0        RCSTAbits.CREN = 1;                                                            F:\MCP\projects\CAN\canToSerial\Source\uart.c
                                            }                                                                               F:\MCP\projects\CAN\canToSerial\Source\uart.c
000ac8   509e     MOVF      0x9e,0x0,0x0     return PIR1bits.RCIF;                                                          F:\MCP\projects\CAN\canToSerial\Source\uart.c
000aca   0b20     ANDLW     0x20                                                                                            
000acc   e001     BZ        0xad0                                                                                           
000ace   0e01     MOVLW     0x1                                                                                             
000ad0   d000     BRA       0xad2                                                                                           
000ad2   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:        CAN.c                                                        F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            *                                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            * Author               Date    Comment                                          F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            * Johan Böhlin     21-10-06    Original        (Rev 1.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
                                           #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
000052   6a70     CLRF      0x70,0x0        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
000054   9e70     BCF       0x70,0x7,0x0    BRGCON1bits.SJW1=0;                                                             F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000056   8c70     BSF       0x70,0x6,0x0    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
000058   0e04     MOVLW     0x4             BRGCON1=BRGCON1|CAN_BRP;                                                        F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00005a   1070     IORWF     0x70,0x0,0x0                                                                                    
00005c   6e70     MOVWF     0x70,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            // Maximum PHEG1                                                                F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00005e   8e71     BSF       0x71,0x7,0x0    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
000060   9a71     BCF       0x71,0x5,0x0    BRGCON2bits.SEG1PH2 = 0;                                                        F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000062   9871     BCF       0x71,0x4,0x0    BRGCON2bits.SEG1PH1 = 0;                                                        F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000064   8671     BSF       0x71,0x3,0x0    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
000066   9471     BCF       0x71,0x2,0x0    BRGCON2bits.PRSEG2 = 0;                                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000068   9271     BCF       0x71,0x1,0x0    BRGCON2bits.PRSEG1 = 0;                                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00006a   8071     BSF       0x71,0x0,0x0    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
00006c   9e72     BCF       0x72,0x7,0x0    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
00006e   9c72     BCF       0x72,0x6,0x0    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
000070   9472     BCF       0x72,0x2,0x0    BRGCON3bits.SEG2PH2 = 0;                                                        F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000072   9272     BCF       0x72,0x1,0x0    BRGCON3bits.SEG2PH1 = 0;                                                        F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000074   8072     BSF       0x72,0x0,0x0    BRGCON3bits.SEG2PH0 = 1;                                                        F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000076   6a77     CLRF      0x77,0x0        ECANCON=0;                                                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000078   9e77     BCF       0x77,0x7,0x0    ECANCONbits.MDSEL1 = 0;                                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00007a   8c77     BSF       0x77,0x6,0x0    ECANCONbits.MDSEL0 = 1;                                                         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
00007c   8c60     BSF       0x60,0x6,0x0    RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00007e   9a60     BCF       0x60,0x5,0x0    RXB0CONbits.RXM0=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
                                            // 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
000080   010d     MOVLB     0xd             TXBIE = 0;                                                                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000082   6bfc     CLRF      0xfc,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            //rx any interrupt                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000084   6aa4     CLRF      0xa4,0x0        PIR3 = 0;                                                                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000086   0e03     MOVLW     0x3             PIE3 = 0b00000011;                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000088   6ea3     MOVWF     0xa3,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            // High interrupt                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00008a   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
00008c   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
00008e   6a6f     CLRF      0x6f,0x0            CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000090   0ee0     MOVLW     0xe0                while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000092   146e     ANDWF     0x6e,0x0,0x0                                                                                    
000094   e001     BZ        0x98                                                                                            
000096   d7fc     BRA       0x90                                                                                            
                                            #endif                                                                          F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000098   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
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00009a   50a4     MOVF      0xa4,0x0,0x0    if (PIR3bits.RXBnIF || PIR3bits.RXB1IF || PIR3bits.RXB0IF)                      F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00009c   0b02     ANDLW     0x2                                                                                             
00009e   e106     BNZ       0xac                                                                                            
0000a0   50a4     MOVF      0xa4,0x0,0x0                                                                                    
0000a2   0b02     ANDLW     0x2                                                                                             
0000a4   e103     BNZ       0xac                                                                                            
0000a6   50a4     MOVF      0xa4,0x0,0x0                                                                                    
0000a8   0b01     ANDLW     0x1                                                                                             
0000aa   e047     BZ        0x13a                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                // Get which buffer that is ful.                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000ac   ae60     BTFSS     0x60,0x7,0x0             if (RXB0CONbits.RXFUL) { ECANCON=(ECANCON&0b00000)|0b10000; canGetPacket(); } F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000ae   d006     BRA       0xbc                                                                                            
0000b0   0e00     MOVLW     0x0                                                                                             
0000b2   1477     ANDWF     0x77,0x0,0x0                                                                                    
0000b4   0910     IORLW     0x10                                                                                            
0000b6   6e77     MOVWF     0x77,0x0                                                                                        
0000b8   d841     RCALL     0x13c                                                                                           
0000ba   d039     BRA       0x12e               else if (RXB1CONbits.RXFUL) { ECANCON=(ECANCON&0b00000)|0b10001; canGetPacket(); } F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000bc   010f     MOVLB     0xf                                                                                             
0000be   af50     BTFSS     0x50,0x7,0x1                                                                                    
0000c0   d006     BRA       0xce                                                                                            
0000c2   0e00     MOVLW     0x0                                                                                             
0000c4   1477     ANDWF     0x77,0x0,0x0                                                                                    
0000c6   0911     IORLW     0x11                                                                                            
0000c8   6e77     MOVWF     0x77,0x0                                                                                        
0000ca   d838     RCALL     0x13c                                                                                           
0000cc   d030     BRA       0x12e               else if (B0CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10010; canGetPacket(); } F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000ce   010e     MOVLB     0xe                                                                                             
0000d0   af20     BTFSS     0x20,0x7,0x1                                                                                    
0000d2   d006     BRA       0xe0                                                                                            
0000d4   0e00     MOVLW     0x0                                                                                             
0000d6   1477     ANDWF     0x77,0x0,0x0                                                                                    
0000d8   0912     IORLW     0x12                                                                                            
0000da   6e77     MOVWF     0x77,0x0                                                                                        
0000dc   d82f     RCALL     0x13c                                                                                           
0000de   d027     BRA       0x12e               else if (B1CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10011; canGetPacket(); } F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000e0   af30     BTFSS     0x30,0x7,0x1                                                                                    
0000e2   d006     BRA       0xf0                                                                                            
0000e4   0e00     MOVLW     0x0                                                                                             
0000e6   1477     ANDWF     0x77,0x0,0x0                                                                                    
0000e8   0913     IORLW     0x13                                                                                            
0000ea   6e77     MOVWF     0x77,0x0                                                                                        
0000ec   d827     RCALL     0x13c                                                                                           
0000ee   d01f     BRA       0x12e               else if (B2CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10100; canGetPacket(); } F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0000f0   af40     BTFSS     0x40,0x7,0x1                                                                                    
0000f2   d006     BRA       0x100                                                                                           
0000f4   0e00     MOVLW     0x0                                                                                             
0000f6   1477     ANDWF     0x77,0x0,0x0                                                                                    
0000f8   0914     IORLW     0x14                                                                                            
0000fa   6e77     MOVWF     0x77,0x0                                                                                        
0000fc   d81f     RCALL     0x13c                                                                                           
0000fe   d017     BRA       0x12e               else if (B3CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10101; canGetPacket(); } F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000100   af50     BTFSS     0x50,0x7,0x1                                                                                    
000102   d006     BRA       0x110                                                                                           
000104   0e00     MOVLW     0x0                                                                                             
000106   1477     ANDWF     0x77,0x0,0x0                                                                                    
000108   0915     IORLW     0x15                                                                                            
00010a   6e77     MOVWF     0x77,0x0                                                                                        
00010c   d817     RCALL     0x13c                                                                                           
00010e   d00f     BRA       0x12e               else if (B4CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10110; canGetPacket(); } F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000110   af60     BTFSS     0x60,0x7,0x1                                                                                    
000112   d006     BRA       0x120                                                                                           
000114   0e00     MOVLW     0x0                                                                                             
000116   1477     ANDWF     0x77,0x0,0x0                                                                                    
000118   0916     IORLW     0x16                                                                                            
00011a   6e77     MOVWF     0x77,0x0                                                                                        
00011c   d80f     RCALL     0x13c                                                                                           
00011e   d007     BRA       0x12e               else if (B5CONbits.RXFUL)   { ECANCON=(ECANCON&0b00000)|0b10111; canGetPacket(); } F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000120   af70     BTFSS     0x70,0x7,0x1                                                                                    
000122   d005     BRA       0x12e                                                                                           
000124   0e00     MOVLW     0x0                                                                                             
000126   1477     ANDWF     0x77,0x0,0x0                                                                                    
000128   0917     IORLW     0x17                                                                                            
00012a   6e77     MOVWF     0x77,0x0                                                                                        
00012c   d807     RCALL     0x13c                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00012e   b2a4     BTFSC     0xa4,0x1,0x0        if (PIR3bits.RXBnIF) {PIR3bits.RXBnIF = 0;}                                    F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000130   92a4     BCF       0xa4,0x1,0x0                                                                                    
000132   b2a4     BTFSC     0xa4,0x1,0x0        if (PIR3bits.RXB1IF) {PIR3bits.RXB1IF = 0;}                                    F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000134   92a4     BCF       0xa4,0x1,0x0                                                                                    
000136   b0a4     BTFSC     0xa4,0x0,0x0        if (PIR3bits.RXB0IF) {PIR3bits.RXB0IF = 0;}                                    F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000138   90a4     BCF       0xa4,0x0,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                            }                                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00013a   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
00013c   cfd9     MOVFF     0xfd9,0xfe6    void canGetPacket()                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00013e   ffe6                                                                                                               
000140   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000142   ffd9                                                                                                               
000144   0e0f     MOVLW     0xf                                                                                             
000146   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
000148   5062     MOVF      0x62,0x0,0x0        cm.extended=(RXB0SIDLbits.EXID==0?FALSE:TRUE);                                 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00014a   0b08     ANDLW     0x8                                                                                             
00014c   e102     BNZ       0x152                                                                                           
00014e   0e00     MOVLW     0x0                                                                                             
000150   d001     BRA       0x154                                                                                           
000152   0e01     MOVLW     0x1                                                                                             
000154   6ee7     MOVWF     0xe7,0x0                                                                                        
000156   0e04     MOVLW     0x4                                                                                             
000158   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
00015a   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                // Clear                                                                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00015c   6ade     CLRF      0xde,0x0            cm.ident=0;                                                                    F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00015e   6ade     CLRF      0xde,0x0                                                                                        
000160   6ade     CLRF      0xde,0x0                                                                                        
000162   6add     CLRF      0xdd,0x0                                                                                        
000164   52dd     MOVF      0xdd,0x1,0x0                                                                                    
000166   52dd     MOVF      0xdd,0x1,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000168   04db     DECF      0xdb,0x0,0x0        if (cm.extended==TRUE)                                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00016a   e16f     BNZ       0x24a                                                                                           
                                                {                                                                              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
00016c   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
00016e   6e00     MOVWF     0x0,0x0                                                                                         
000170   6a01     CLRF      0x1,0x0                                                                                         
000172   6a02     CLRF      0x2,0x0                                                                                         
000174   6a03     CLRF      0x3,0x0                                                                                         
000176   0e15     MOVLW     0x15                                                                                            
000178   0b1f     ANDLW     0x1f                                                                                            
00017a   e007     BZ        0x18a                                                                                           
00017c   90d8     BCF       0xd8,0x0,0x0                                                                                    
00017e   3600     RLCF      0x0,0x1,0x0                                                                                     
000180   3601     RLCF      0x1,0x1,0x0                                                                                     
000182   3602     RLCF      0x2,0x1,0x0                                                                                     
000184   3603     RLCF      0x3,0x1,0x0                                                                                     
000186   06e8     DECF      0xe8,0x1,0x0                                                                                    
000188   e1f9     BNZ       0x17c                                                                                           
00018a   0ee0     MOVLW     0xe0                                                                                            
00018c   1462     ANDWF     0x62,0x0,0x0                                                                                    
00018e   6e04     MOVWF     0x4,0x0                                                                                         
000190   6a05     CLRF      0x5,0x0                                                                                         
000192   6a06     CLRF      0x6,0x0                                                                                         
000194   6a07     CLRF      0x7,0x0                                                                                         
000196   0e0d     MOVLW     0xd                                                                                             
000198   0b1f     ANDLW     0x1f                                                                                            
00019a   e007     BZ        0x1aa                                                                                           
00019c   90d8     BCF       0xd8,0x0,0x0                                                                                    
00019e   3604     RLCF      0x4,0x1,0x0                                                                                     
0001a0   3605     RLCF      0x5,0x1,0x0                                                                                     
0001a2   3606     RLCF      0x6,0x1,0x0                                                                                     
0001a4   3607     RLCF      0x7,0x1,0x0                                                                                     
0001a6   06e8     DECF      0xe8,0x1,0x0                                                                                    
0001a8   e1f9     BNZ       0x19c                                                                                           
0001aa   5004     MOVF      0x4,0x0,0x0                                                                                     
0001ac   2600     ADDWF     0x0,0x1,0x0                                                                                     
0001ae   5005     MOVF      0x5,0x0,0x0                                                                                     
0001b0   2201     ADDWFC    0x1,0x1,0x0                                                                                     
0001b2   5006     MOVF      0x6,0x0,0x0                                                                                     
0001b4   2202     ADDWFC    0x2,0x1,0x0                                                                                     
0001b6   5007     MOVF      0x7,0x0,0x0                                                                                     
0001b8   2203     ADDWFC    0x3,0x1,0x0                                                                                     
0001ba   0e03     MOVLW     0x3                                                                                             
0001bc   1462     ANDWF     0x62,0x0,0x0                                                                                    
0001be   6e08     MOVWF     0x8,0x0                                                                                         
0001c0   6a09     CLRF      0x9,0x0                                                                                         
0001c2   6a0a     CLRF      0xa,0x0                                                                                         
0001c4   6a0b     CLRF      0xb,0x0                                                                                         
0001c6   0e10     MOVLW     0x10                                                                                            
0001c8   0b1f     ANDLW     0x1f                                                                                            
0001ca   e007     BZ        0x1da                                                                                           
0001cc   90d8     BCF       0xd8,0x0,0x0                                                                                    
0001ce   3608     RLCF      0x8,0x1,0x0                                                                                     
0001d0   3609     RLCF      0x9,0x1,0x0                                                                                     
0001d2   360a     RLCF      0xa,0x1,0x0                                                                                     
0001d4   360b     RLCF      0xb,0x1,0x0                                                                                     
0001d6   06e8     DECF      0xe8,0x1,0x0                                                                                    
0001d8   e1f9     BNZ       0x1cc                                                                                           
0001da   5008     MOVF      0x8,0x0,0x0                                                                                     
0001dc   2600     ADDWF     0x0,0x1,0x0                                                                                     
0001de   5009     MOVF      0x9,0x0,0x0                                                                                     
0001e0   2201     ADDWFC    0x1,0x1,0x0                                                                                     
0001e2   500a     MOVF      0xa,0x0,0x0                                                                                     
0001e4   2202     ADDWFC    0x2,0x1,0x0                                                                                     
0001e6   500b     MOVF      0xb,0x0,0x0                                                                                     
0001e8   2203     ADDWFC    0x3,0x1,0x0                                                                                     
0001ea   5063     MOVF      0x63,0x0,0x0                                                                                    
0001ec   6e0c     MOVWF     0xc,0x0                                                                                         
0001ee   6a0d     CLRF      0xd,0x0                                                                                         
0001f0   6a0e     CLRF      0xe,0x0                                                                                         
0001f2   6a0f     CLRF      0xf,0x0                                                                                         
0001f4   0e08     MOVLW     0x8                                                                                             
0001f6   0b1f     ANDLW     0x1f                                                                                            
0001f8   e007     BZ        0x208                                                                                           
0001fa   90d8     BCF       0xd8,0x0,0x0                                                                                    
0001fc   360c     RLCF      0xc,0x1,0x0                                                                                     
0001fe   360d     RLCF      0xd,0x1,0x0                                                                                     
000200   360e     RLCF      0xe,0x1,0x0                                                                                     
000202   360f     RLCF      0xf,0x1,0x0                                                                                     
000204   06e8     DECF      0xe8,0x1,0x0                                                                                    
000206   e1f9     BNZ       0x1fa                                                                                           
000208   500c     MOVF      0xc,0x0,0x0                                                                                     
00020a   2600     ADDWF     0x0,0x1,0x0                                                                                     
00020c   500d     MOVF      0xd,0x0,0x0                                                                                     
00020e   2201     ADDWFC    0x1,0x1,0x0                                                                                     
000210   500e     MOVF      0xe,0x0,0x0                                                                                     
000212   2202     ADDWFC    0x2,0x1,0x0                                                                                     
000214   500f     MOVF      0xf,0x0,0x0                                                                                     
000216   2203     ADDWFC    0x3,0x1,0x0                                                                                     
000218   5064     MOVF      0x64,0x0,0x0                                                                                    
00021a   6e10     MOVWF     0x10,0x0                                                                                        
00021c   6a11     CLRF      0x11,0x0                                                                                        
00021e   6a12     CLRF      0x12,0x0                                                                                        
000220   6a13     CLRF      0x13,0x0                                                                                        
000222   5010     MOVF      0x10,0x0,0x0                                                                                    
000224   2600     ADDWF     0x0,0x1,0x0                                                                                     
000226   5011     MOVF      0x11,0x0,0x0                                                                                    
000228   2201     ADDWFC    0x1,0x1,0x0                                                                                     
00022a   5012     MOVF      0x12,0x0,0x0                                                                                    
00022c   2202     ADDWFC    0x2,0x1,0x0                                                                                     
00022e   5013     MOVF      0x13,0x0,0x0                                                                                    
000230   2203     ADDWFC    0x3,0x1,0x0                                                                                     
000232   c000     MOVFF     0x0,0xfdf                                                                                       
000234   ffdf                                                                                                               
000236   0e01     MOVLW     0x1                                                                                             
000238   c001     MOVFF     0x1,0xfdb                                                                                       
00023a   ffdb                                                                                                               
00023c   0e02     MOVLW     0x2                                                                                             
00023e   c002     MOVFF     0x2,0xfdb                                                                                       
000240   ffdb                                                                                                               
000242   0e03     MOVLW     0x3                                                                                             
000244   c003     MOVFF     0x3,0xfdb                                                                                       
000246   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000248   d02f     BRA       0x2a8               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
00024a   5061     MOVF      0x61,0x0,0x0            cm.ident = (((DWORD)RXB0SIDH)<<3) + (((DWORD)RXB0SIDL)>>5);                   F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00024c   6e00     MOVWF     0x0,0x0                                                                                         
00024e   6a01     CLRF      0x1,0x0                                                                                         
000250   6a02     CLRF      0x2,0x0                                                                                         
000252   6a03     CLRF      0x3,0x0                                                                                         
000254   0e03     MOVLW     0x3                                                                                             
000256   0b1f     ANDLW     0x1f                                                                                            
000258   e007     BZ        0x268                                                                                           
00025a   90d8     BCF       0xd8,0x0,0x0                                                                                    
00025c   3600     RLCF      0x0,0x1,0x0                                                                                     
00025e   3601     RLCF      0x1,0x1,0x0                                                                                     
000260   3602     RLCF      0x2,0x1,0x0                                                                                     
000262   3603     RLCF      0x3,0x1,0x0                                                                                     
000264   06e8     DECF      0xe8,0x1,0x0                                                                                    
000266   e1f9     BNZ       0x25a                                                                                           
000268   5062     MOVF      0x62,0x0,0x0                                                                                    
00026a   6e04     MOVWF     0x4,0x0                                                                                         
00026c   6a05     CLRF      0x5,0x0                                                                                         
00026e   6a06     CLRF      0x6,0x0                                                                                         
000270   6a07     CLRF      0x7,0x0                                                                                         
000272   0e05     MOVLW     0x5                                                                                             
000274   90d8     BCF       0xd8,0x0,0x0                                                                                    
000276   3207     RRCF      0x7,0x1,0x0                                                                                     
000278   3206     RRCF      0x6,0x1,0x0                                                                                     
00027a   3205     RRCF      0x5,0x1,0x0                                                                                     
00027c   3204     RRCF      0x4,0x1,0x0                                                                                     
00027e   06e8     DECF      0xe8,0x1,0x0                                                                                    
000280   e1f9     BNZ       0x274                                                                                           
000282   5004     MOVF      0x4,0x0,0x0                                                                                     
000284   2600     ADDWF     0x0,0x1,0x0                                                                                     
000286   5005     MOVF      0x5,0x0,0x0                                                                                     
000288   2201     ADDWFC    0x1,0x1,0x0                                                                                     
00028a   5006     MOVF      0x6,0x0,0x0                                                                                     
00028c   2202     ADDWFC    0x2,0x1,0x0                                                                                     
00028e   5007     MOVF      0x7,0x0,0x0                                                                                     
000290   2203     ADDWFC    0x3,0x1,0x0                                                                                     
000292   c000     MOVFF     0x0,0xfdf                                                                                       
000294   ffdf                                                                                                               
000296   0e01     MOVLW     0x1                                                                                             
000298   c001     MOVFF     0x1,0xfdb                                                                                       
00029a   ffdb                                                                                                               
00029c   0e02     MOVLW     0x2                                                                                             
00029e   c002     MOVFF     0x2,0xfdb                                                                                       
0002a0   ffdb                                                                                                               
0002a2   0e03     MOVLW     0x3                                                                                             
0002a4   c003     MOVFF     0x3,0xfdb                                                                                       
0002a6   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
0002a8   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
0002aa   0b01     ANDLW     0x1                                                                                             
0002ac   6e02     MOVWF     0x2,0x0                                                                                         
0002ae   5065     MOVF      0x65,0x0,0x0                                                                                    
0002b0   0b02     ANDLW     0x2                                                                                             
0002b2   e001     BZ        0x2b6                                                                                           
0002b4   0e01     MOVLW     0x1                                                                                             
0002b6   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
0002b8   6e01     MOVWF     0x1,0x0                                                                                         
0002ba   5065     MOVF      0x65,0x0,0x0                                                                                    
0002bc   0b04     ANDLW     0x4                                                                                             
0002be   e001     BZ        0x2c2                                                                                           
0002c0   0e01     MOVLW     0x1                                                                                             
0002c2   0d04     MULLW     0x4                                                                                             
0002c4   cff3     MOVFF     0xff3,0x0                                                                                       
0002c6   f000                                                                                                               
0002c8   5065     MOVF      0x65,0x0,0x0                                                                                    
0002ca   0b08     ANDLW     0x8                                                                                             
0002cc   e001     BZ        0x2d0                                                                                           
0002ce   0e01     MOVLW     0x1                                                                                             
0002d0   0d08     MULLW     0x8                                                                                             
0002d2   50f3     MOVF      0xf3,0x0,0x0                                                                                    
0002d4   2400     ADDWF     0x0,0x0,0x0                                                                                     
0002d6   2401     ADDWF     0x1,0x0,0x0                                                                                     
0002d8   2402     ADDWF     0x2,0x0,0x0                                                                                     
0002da   6ee7     MOVWF     0xe7,0x0                                                                                        
0002dc   0e06     MOVLW     0x6                                                                                             
0002de   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
0002e0   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                // Remote request                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0002e2   5065     MOVF      0x65,0x0,0x0        cm.remote_request=(RXB0DLCbits.RXRTR==0?FALSE:TRUE);                           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0002e4   0b40     ANDLW     0x40                                                                                            
0002e6   e102     BNZ       0x2ec                                                                                           
0002e8   0e00     MOVLW     0x0                                                                                             
0002ea   d001     BRA       0x2ee                                                                                           
0002ec   0e01     MOVLW     0x1                                                                                             
0002ee   6ee7     MOVWF     0xe7,0x0                                                                                        
0002f0   0e05     MOVLW     0x5                                                                                             
0002f2   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
0002f4   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0002f6   0e07     MOVLW     0x7                 cm.data[0]=RXB0D0;  cm.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0002f8   cf66     MOVFF     0xf66,0xfdb                                                                                     
0002fa   ffdb                                                                                                               
0002fc   0e08     MOVLW     0x8                                                                                             
0002fe   cf67     MOVFF     0xf67,0xfdb                                                                                     
000300   ffdb                                                                                                               
000302   0e09     MOVLW     0x9                 cm.data[2]=RXB0D2;  cm.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000304   cf68     MOVFF     0xf68,0xfdb                                                                                     
000306   ffdb                                                                                                               
000308   0e0a     MOVLW     0xa                                                                                             
00030a   cf69     MOVFF     0xf69,0xfdb                                                                                     
00030c   ffdb                                                                                                               
00030e   0e0b     MOVLW     0xb                 cm.data[4]=RXB0D4;  cm.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000310   cf6a     MOVFF     0xf6a,0xfdb                                                                                     
000312   ffdb                                                                                                               
000314   0e0c     MOVLW     0xc                                                                                             
000316   cf6b     MOVFF     0xf6b,0xfdb                                                                                     
000318   ffdb                                                                                                               
00031a   0e0d     MOVLW     0xd                 cm.data[6]=RXB0D6;  cm.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00031c   cf6c     MOVFF     0xf6c,0xfdb                                                                                     
00031e   ffdb                                                                                                               
000320   0e0e     MOVLW     0xe                                                                                             
000322   cf6d     MOVFF     0xf6d,0xfdb                                                                                     
000324   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000326   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
000328   cfd9     MOVFF     0xfd9,0xfe9         canParse(cm);                                                                  F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00032a   ffe9                                                                                                               
00032c   cfda     MOVFF     0xfda,0xfea                                                                                     
00032e   ffea                                                                                                               
000330   cfee     MOVFF     0xfee,0xfe6                                                                                     
000332   ffe6                                                                                                               
000334   cfee     MOVFF     0xfee,0xfe6                                                                                     
000336   ffe6                                                                                                               
000338   cfee     MOVFF     0xfee,0xfe6                                                                                     
00033a   ffe6                                                                                                               
00033c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00033e   ffe6                                                                                                               
000340   cfee     MOVFF     0xfee,0xfe6                                                                                     
000342   ffe6                                                                                                               
000344   cfee     MOVFF     0xfee,0xfe6                                                                                     
000346   ffe6                                                                                                               
000348   cfee     MOVFF     0xfee,0xfe6                                                                                     
00034a   ffe6                                                                                                               
00034c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00034e   ffe6                                                                                                               
000350   cfee     MOVFF     0xfee,0xfe6                                                                                     
000352   ffe6                                                                                                               
000354   cfee     MOVFF     0xfee,0xfe6                                                                                     
000356   ffe6                                                                                                               
000358   cfee     MOVFF     0xfee,0xfe6                                                                                     
00035a   ffe6                                                                                                               
00035c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00035e   ffe6                                                                                                               
000360   cfee     MOVFF     0xfee,0xfe6                                                                                     
000362   ffe6                                                                                                               
000364   cfee     MOVFF     0xfee,0xfe6                                                                                     
000366   ffe6                                                                                                               
000368   cfee     MOVFF     0xfee,0xfe6                                                                                     
00036a   ffe6                                                                                                               
00036c   ec45     CALL      0x68a,0x0                                                                                       
00036e   f003                                                                                                               
000370   6e00     MOVWF     0x0,0x0                                                                                         
000372   0e0f     MOVLW     0xf                                                                                             
000374   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
000376   5000     MOVF      0x0,0x0,0x0                                                                                     
000378   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00037a   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
00037c   e202     BC        0x382                                                                                           
00037e   6ae1     CLRF      0xe1,0x0                                                                                        
000380   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000382   6ee1     MOVWF     0xe1,0x0                                                                                        
000384   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000386   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000388   ffd9                                                                                                               
00038a   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
00038c   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_MESSAGE cm,CAN_PRIORITY prio)                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00038e   ffe6                                                                                                               
000390   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000392   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000394   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000396   b740     BTFSC     0x40,0x3,0x1                                                                                    
000398   d004     BRA       0x3a2                                                                                           
00039a   0e00     MOVLW     0x0                                                                                             
00039c   1477     ANDWF     0x77,0x0,0x0                                                                                    
00039e   0903     IORLW     0x3                                                                                             
0003a0   6e77     MOVWF     0x77,0x0                                                                                        
0003a2   010f     MOVLB     0xf             if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0003a4   b730     BTFSC     0x30,0x3,0x1                                                                                    
0003a6   d004     BRA       0x3b0                                                                                           
0003a8   0e00     MOVLW     0x0                                                                                             
0003aa   1477     ANDWF     0x77,0x0,0x0                                                                                    
0003ac   0904     IORLW     0x4                                                                                             
0003ae   6e77     MOVWF     0x77,0x0                                                                                        
0003b0   010f     MOVLB     0xf             if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0003b2   b720     BTFSC     0x20,0x3,0x1                                                                                    
0003b4   d005     BRA       0x3c0                                                                                           
0003b6   0e00     MOVLW     0x0                                                                                             
0003b8   1477     ANDWF     0x77,0x0,0x0                                                                                    
0003ba   0905     IORLW     0x5                                                                                             
0003bc   6e77     MOVWF     0x77,0x0                                                                                        
                                            // None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0003be   d002     BRA       0x3c4           else { return FALSE;}                                                           F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0003c0   0e00     MOVLW     0x0                                                                                             
0003c2   d0e4     BRA       0x58c                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0003c4   0eef     MOVLW     0xef            if (prio<0 || prio>3) prio = 0;                                                 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0003c6   cfdb     MOVFF     0xfdb,0x0                                                                                       
0003c8   f000                                                                                                               
0003ca   3400     RLCF      0x0,0x0,0x0                                                                                     
0003cc   e20e     BC        0x3ea                                                                                           
0003ce   0eef     MOVLW     0xef                                                                                            
0003d0   cfdb     MOVFF     0xfdb,0x1                                                                                       
0003d2   f001                                                                                                               
0003d4   0e03     MOVLW     0x3                                                                                             
0003d6   6ee7     MOVWF     0xe7,0x0                                                                                        
0003d8   1801     XORWF     0x1,0x0,0x0                                                                                     
0003da   aee8     BTFSS     0xe8,0x7,0x0                                                                                    
0003dc   d002     BRA       0x3e2                                                                                           
0003de   3401     RLCF      0x1,0x0,0x0                                                                                     
0003e0   d003     BRA       0x3e8                                                                                           
0003e2   50e7     MOVF      0xe7,0x0,0x0                                                                                    
0003e4   80d8     BSF       0xd8,0x0,0x0                                                                                    
0003e6   5401     SUBFWB    0x1,0x0,0x0                                                                                     
0003e8   e202     BC        0x3ee                                                                                           
0003ea   0eef     MOVLW     0xef                                                                                            
0003ec   6adb     CLRF      0xdb,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0003ee   0ef4     MOVLW     0xf4                if (cm.extended==TRUE)                                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0003f0   04db     DECF      0xdb,0x0,0x0                                                                                    
0003f2   e15f     BNZ       0x4b2                                                                                           
                                                {                                                                              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
0003f4   0ef0     MOVLW     0xf0                    RXB0SIDH =  (BYTE)((cm.ident>>21));                                     F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0003f6   cfdb     MOVFF     0xfdb,0x0                                                                                       
0003f8   f000                                                                                                               
0003fa   0ef1     MOVLW     0xf1                                                                                            
0003fc   cfdb     MOVFF     0xfdb,0x1                                                                                       
0003fe   f001                                                                                                               
000400   0ef2     MOVLW     0xf2                                                                                            
000402   cfdb     MOVFF     0xfdb,0x2                                                                                       
000404   f002                                                                                                               
000406   0ef3     MOVLW     0xf3                                                                                            
000408   cfdb     MOVFF     0xfdb,0x3                                                                                       
00040a   f003                                                                                                               
00040c   0e15     MOVLW     0x15                                                                                            
00040e   90d8     BCF       0xd8,0x0,0x0                                                                                    
000410   3203     RRCF      0x3,0x1,0x0                                                                                     
000412   3202     RRCF      0x2,0x1,0x0                                                                                     
000414   3201     RRCF      0x1,0x1,0x0                                                                                     
000416   3200     RRCF      0x0,0x1,0x0                                                                                     
000418   06e8     DECF      0xe8,0x1,0x0                                                                                    
00041a   e1f9     BNZ       0x40e                                                                                           
00041c   5000     MOVF      0x0,0x0,0x0                                                                                     
00041e   6e61     MOVWF     0x61,0x0                                                                                        
000420   0ef0     MOVLW     0xf0                    RXB0SIDL = ((BYTE)(cm.ident>>16) & 0x03) + ((BYTE)(cm.ident>>13) & 0xE0); F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000422   cfdb     MOVFF     0xfdb,0x5                                                                                       
000424   f005                                                                                                               
000426   0ef1     MOVLW     0xf1                                                                                            
000428   cfdb     MOVFF     0xfdb,0x6                                                                                       
00042a   f006                                                                                                               
00042c   0ef2     MOVLW     0xf2                                                                                            
00042e   cfdb     MOVFF     0xfdb,0x7                                                                                       
000430   f007                                                                                                               
000432   0ef3     MOVLW     0xf3                                                                                            
000434   cfdb     MOVFF     0xfdb,0x8                                                                                       
000436   f008                                                                                                               
000438   0e0d     MOVLW     0xd                                                                                             
00043a   90d8     BCF       0xd8,0x0,0x0                                                                                    
00043c   3208     RRCF      0x8,0x1,0x0                                                                                     
00043e   3207     RRCF      0x7,0x1,0x0                                                                                     
000440   3206     RRCF      0x6,0x1,0x0                                                                                     
000442   3205     RRCF      0x5,0x1,0x0                                                                                     
000444   06e8     DECF      0xe8,0x1,0x0                                                                                    
000446   e1f9     BNZ       0x43a                                                                                           
000448   0ee0     MOVLW     0xe0                                                                                            
00044a   1405     ANDWF     0x5,0x0,0x0                                                                                     
00044c   6e04     MOVWF     0x4,0x0                                                                                         
00044e   0ef0     MOVLW     0xf0                                                                                            
000450   cfdb     MOVFF     0xfdb,0x0                                                                                       
000452   f000                                                                                                               
000454   0ef1     MOVLW     0xf1                                                                                            
000456   cfdb     MOVFF     0xfdb,0x1                                                                                       
000458   f001                                                                                                               
00045a   0ef2     MOVLW     0xf2                                                                                            
00045c   cfdb     MOVFF     0xfdb,0x2                                                                                       
00045e   f002                                                                                                               
000460   0ef3     MOVLW     0xf3                                                                                            
000462   cfdb     MOVFF     0xfdb,0x3                                                                                       
000464   f003                                                                                                               
000466   0e10     MOVLW     0x10                                                                                            
000468   90d8     BCF       0xd8,0x0,0x0                                                                                    
00046a   3203     RRCF      0x3,0x1,0x0                                                                                     
00046c   3202     RRCF      0x2,0x1,0x0                                                                                     
00046e   3201     RRCF      0x1,0x1,0x0                                                                                     
000470   3200     RRCF      0x0,0x1,0x0                                                                                     
000472   06e8     DECF      0xe8,0x1,0x0                                                                                    
000474   e1f9     BNZ       0x468                                                                                           
000476   0e03     MOVLW     0x3                                                                                             
000478   1400     ANDWF     0x0,0x0,0x0                                                                                     
00047a   2404     ADDWF     0x4,0x0,0x0                                                                                     
00047c   6e62     MOVWF     0x62,0x0                                                                                        
00047e   0ef0     MOVLW     0xf0                    RXB0EIDH =  (BYTE)(cm.ident>>8);                                        F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000480   cfdb     MOVFF     0xfdb,0x0                                                                                       
000482   f000                                                                                                               
000484   0ef1     MOVLW     0xf1                                                                                            
000486   cfdb     MOVFF     0xfdb,0x1                                                                                       
000488   f001                                                                                                               
00048a   0ef2     MOVLW     0xf2                                                                                            
00048c   cfdb     MOVFF     0xfdb,0x2                                                                                       
00048e   f002                                                                                                               
000490   0ef3     MOVLW     0xf3                                                                                            
000492   cfdb     MOVFF     0xfdb,0x3                                                                                       
000494   f003                                                                                                               
000496   0e08     MOVLW     0x8                                                                                             
000498   90d8     BCF       0xd8,0x0,0x0                                                                                    
00049a   3203     RRCF      0x3,0x1,0x0                                                                                     
00049c   3202     RRCF      0x2,0x1,0x0                                                                                     
00049e   3201     RRCF      0x1,0x1,0x0                                                                                     
0004a0   3200     RRCF      0x0,0x1,0x0                                                                                     
0004a2   06e8     DECF      0xe8,0x1,0x0                                                                                    
0004a4   e1f9     BNZ       0x498                                                                                           
0004a6   5000     MOVF      0x0,0x0,0x0                                                                                     
0004a8   6e63     MOVWF     0x63,0x0                                                                                        
0004aa   0ef0     MOVLW     0xf0                    RXB0EIDL =  (BYTE)cm.ident;                                             F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0004ac   50db     MOVF      0xdb,0x0,0x0                                                                                    
0004ae   6e64     MOVWF     0x64,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                }                                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0004b0   d02f     BRA       0x510               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
0004b2   0ef0     MOVLW     0xf0                        RXB0SIDH=  (BYTE)(cm.ident>>3);                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0004b4   cfdb     MOVFF     0xfdb,0x0                                                                                       
0004b6   f000                                                                                                               
0004b8   0ef1     MOVLW     0xf1                                                                                            
0004ba   cfdb     MOVFF     0xfdb,0x1                                                                                       
0004bc   f001                                                                                                               
0004be   0ef2     MOVLW     0xf2                                                                                            
0004c0   cfdb     MOVFF     0xfdb,0x2                                                                                       
0004c2   f002                                                                                                               
0004c4   0ef3     MOVLW     0xf3                                                                                            
0004c6   cfdb     MOVFF     0xfdb,0x3                                                                                       
0004c8   f003                                                                                                               
0004ca   0e03     MOVLW     0x3                                                                                             
0004cc   90d8     BCF       0xd8,0x0,0x0                                                                                    
0004ce   3203     RRCF      0x3,0x1,0x0                                                                                     
0004d0   3202     RRCF      0x2,0x1,0x0                                                                                     
0004d2   3201     RRCF      0x1,0x1,0x0                                                                                     
0004d4   3200     RRCF      0x0,0x1,0x0                                                                                     
0004d6   06e8     DECF      0xe8,0x1,0x0                                                                                    
0004d8   e1f9     BNZ       0x4cc                                                                                           
0004da   5000     MOVF      0x0,0x0,0x0                                                                                     
0004dc   6e61     MOVWF     0x61,0x0                                                                                        
0004de   0ef0     MOVLW     0xf0                    RXB0SIDL= ((BYTE)(cm.ident<<5) & 0xE0);                                 F:\MCP\projects\CAN\canToSerial\Source\CAN.c
0004e0   cfdb     MOVFF     0xfdb,0x0                                                                                       
0004e2   f000                                                                                                               
0004e4   0ef1     MOVLW     0xf1                                                                                            
0004e6   cfdb     MOVFF     0xfdb,0x1                                                                                       
0004e8   f001                                                                                                               
0004ea   0ef2     MOVLW     0xf2                                                                                            
0004ec   cfdb     MOVFF     0xfdb,0x2                                                                                       
0004ee   f002                                                                                                               
0004f0   0ef3     MOVLW     0xf3                                                                                            
0004f2   cfdb     MOVFF     0xfdb,0x3                                                                                       
0004f4   f003                                                                                                               
0004f6   0e05     MOVLW     0x5                                                                                             
0004f8   0b1f     ANDLW     0x1f                                                                                            
0004fa   e007     BZ        0x50a                                                                                           
0004fc   90d8     BCF       0xd8,0x0,0x0                                                                                    
0004fe   3600     RLCF      0x0,0x1,0x0                                                                                     
000500   3601     RLCF      0x1,0x1,0x0                                                                                     
000502   3602     RLCF      0x2,0x1,0x0                                                                                     
000504   3603     RLCF      0x3,0x1,0x0                                                                                     
000506   06e8     DECF      0xe8,0x1,0x0                                                                                    
000508   e1f9     BNZ       0x4fc                                                                                           
00050a   0ee0     MOVLW     0xe0                                                                                            
00050c   1400     ANDWF     0x0,0x0,0x0                                                                                     
00050e   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
000510   6a65     CLRF      0x65,0x0            RXB0DLC = 0;                                                                   F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000512   0ef6     MOVLW     0xf6                if (cm.data_length>8) RXB0DLC=8; else RXB0DLC=cm.data_length;                  F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000514   50db     MOVF      0xdb,0x0,0x0                                                                                    
000516   0808     SUBLW     0x8                                                                                             
000518   e203     BC        0x520                                                                                           
00051a   0e08     MOVLW     0x8                                                                                             
00051c   6e65     MOVWF     0x65,0x0                                                                                        
00051e   d003     BRA       0x526                                                                                           
000520   0ef6     MOVLW     0xf6                                                                                            
000522   50db     MOVF      0xdb,0x0,0x0                                                                                    
000524   6e65     MOVWF     0x65,0x0                                                                                        
                                                                                                                               F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                // Remote request                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000526   0ef5     MOVLW     0xf5                if (cm.remote_request==TRUE)                                                   F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000528   04db     DECF      0xdb,0x0,0x0                                                                                    
00052a   e102     BNZ       0x530                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                    _asm                                                                          F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00052c   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
00052e   d001     BRA       0x532               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
000530   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
000532   0ef7     MOVLW     0xf7                RXB0D0=cm.data[0];  RXB0D1=cm.data[1];                                          F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000534   50db     MOVF      0xdb,0x0,0x0                                                                                    
000536   6e66     MOVWF     0x66,0x0                                                                                        
000538   0ef8     MOVLW     0xf8                                                                                            
00053a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00053c   6e67     MOVWF     0x67,0x0                                                                                        
00053e   0ef9     MOVLW     0xf9                RXB0D2=cm.data[2];  RXB0D3=cm.data[3];                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000540   50db     MOVF      0xdb,0x0,0x0                                                                                    
000542   6e68     MOVWF     0x68,0x0                                                                                        
000544   0efa     MOVLW     0xfa                                                                                            
000546   50db     MOVF      0xdb,0x0,0x0                                                                                    
000548   6e69     MOVWF     0x69,0x0                                                                                        
00054a   0efb     MOVLW     0xfb                RXB0D4=cm.data[4];  RXB0D5=cm.data[5];                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00054c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00054e   6e6a     MOVWF     0x6a,0x0                                                                                        
000550   0efc     MOVLW     0xfc                                                                                            
000552   50db     MOVF      0xdb,0x0,0x0                                                                                    
000554   6e6b     MOVWF     0x6b,0x0                                                                                        
000556   0efd     MOVLW     0xfd                RXB0D6=cm.data[6];  RXB0D7=cm.data[7];                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000558   50db     MOVF      0xdb,0x0,0x0                                                                                    
00055a   6e6c     MOVWF     0x6c,0x0                                                                                        
00055c   0efe     MOVLW     0xfe                                                                                            
00055e   50db     MOVF      0xdb,0x0,0x0                                                                                    
000560   6e6d     MOVWF     0x6d,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                // set extended or not                                                         F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000562   0ef4     MOVLW     0xf4                RXB0SIDLbits.EXID=(cm.extended==TRUE?1:0);                                     F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000564   04db     DECF      0xdb,0x0,0x0                                                                                    
000566   e102     BNZ       0x56c                                                                                           
000568   0e01     MOVLW     0x1                                                                                             
00056a   d001     BRA       0x56e                                                                                           
00056c   0e00     MOVLW     0x0                                                                                             
00056e   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
000570   8662     BSF       0x62,0x3,0x0                                                                                    
000572   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
000574   9662     BCF       0x62,0x3,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
                                                // Priority                                                                    F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000576   0eef     MOVLW     0xef                RXB0CON = (RXB0CON & 0b11111100) | prio;                                       F:\MCP\projects\CAN\canToSerial\Source\CAN.c
000578   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
00057a   ffe6                                                                                                               
00057c   0efc     MOVLW     0xfc                                                                                            
00057e   1460     ANDWF     0x60,0x0,0x0                                                                                    
000580   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000582   10e7     IORWF     0xe7,0x0,0x0                                                                                    
000584   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
000586   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
000588   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00058a   d000     BRA       0x58c                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00058c   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canToSerial\Source\CAN.c
00058e   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000590   ffd9                                                                                                               
000592   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:        Main.c                                                       F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            * Author               Date    Comment                                          F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            * Johan Böhlin     21-10-06    Original        (Rev 1.0)                          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
000594   d874     RCALL     0x67e           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
000596   ec22     CALL      0x44,0x0            canInit();                                                                     F:\MCP\projects\CAN\canToSerial\Source\Main.c
000598   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
00059a   ece3     CALL      0x9c6,0x0           uartInit();                                                                    F:\MCP\projects\CAN\canToSerial\Source\Main.c
00059c   f004                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
00059e   ecb9     CALL      0xb72,0x0       tickInit();                                                                     F:\MCP\projects\CAN\canToSerial\Source\Main.c
0005a0   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
0005a2   d7ff     BRA       0x5a2           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
0005a4   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
0005a6   cfd8     MOVFF     0xfd8,0xfe4    void HighISR(void)                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
0005a8   ffe4                                                                                                               
0005aa   cfe0     MOVFF     0xfe0,0xfe4                                                                                     
0005ac   ffe4                                                                                                               
0005ae   6ee4     MOVWF     0xe4,0x0                                                                                        
0005b0   cfda     MOVFF     0xfda,0xfe4                                                                                     
0005b2   ffe4                                                                                                               
0005b4   cfe2     MOVFF     0xfe2,0xfda                                                                                     
0005b6   ffda                                                                                                               
0005b8   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
0005ba   ffe4                                                                                                               
0005bc   cfea     MOVFF     0xfea,0xfe4                                                                                     
0005be   ffe4                                                                                                               
0005c0   cff6     MOVFF     0xff6,0xfe4                                                                                     
0005c2   ffe4                                                                                                               
0005c4   cff7     MOVFF     0xff7,0xfe4                                                                                     
0005c6   ffe4                                                                                                               
0005c8   cff5     MOVFF     0xff5,0xfe4                                                                                     
0005ca   ffe4                                                                                                               
0005cc   cff3     MOVFF     0xff3,0xfe4                                                                                     
0005ce   ffe4                                                                                                               
0005d0   cff4     MOVFF     0xff4,0xfe4                                                                                     
0005d2   ffe4                                                                                                               
0005d4   cffa     MOVFF     0xffa,0xfe4                                                                                     
0005d6   ffe4                                                                                                               
0005d8   ee00     LFSR      0x0,0x14                                                                                        
0005da   f014                                                                                                               
0005dc   0e0b     MOVLW     0xb                                                                                             
0005de   04e8     DECF      0xe8,0x0,0x0                                                                                    
0005e0   e303     BNC       0x5e8                                                                                           
0005e2   cfee     MOVFF     0xfee,0xfe4                                                                                     
0005e4   ffe4                                                                                                               
0005e6   d7fb     BRA       0x5de                                                                                           
0005e8   ee00     LFSR      0x0,0x0                                                                                         
0005ea   f000                                                                                                               
0005ec   0e14     MOVLW     0x14                                                                                            
0005ee   04e8     DECF      0xe8,0x0,0x0                                                                                    
0005f0   e303     BNC       0x5f8                                                                                           
0005f2   cfee     MOVFF     0xfee,0xfe4                                                                                     
0005f4   ffe4                                                                                                               
0005f6   d7fb     BRA       0x5ee                                                                                           
0005f8   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
0005fa   ec4f     CALL      0xa9e,0x0           uartISR();                                                                     F:\MCP\projects\CAN\canToSerial\Source\Main.c
0005fc   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
0005fe   ec4d     CALL      0x9a,0x0            canISR();                                                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
000600   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
000602   eccd     CALL      0xb9a,0x0       tickUpdate();                                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
000604   f005                                                                                                               
000606   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
000608   ee00     LFSR      0x0,0x13                                                                                        
00060a   f013                                                                                                               
00060c   0e14     MOVLW     0x14                                                                                            
00060e   04e8     DECF      0xe8,0x0,0x0                                                                                    
000610   e303     BNC       0x618                                                                                           
000612   cfe5     MOVFF     0xfe5,0xfed                                                                                     
000614   ffed                                                                                                               
000616   d7fb     BRA       0x60e                                                                                           
000618   ee00     LFSR      0x0,0x1e                                                                                        
00061a   f01e                                                                                                               
00061c   0e0b     MOVLW     0xb                                                                                             
00061e   04e8     DECF      0xe8,0x0,0x0                                                                                    
000620   e303     BNC       0x628                                                                                           
000622   cfe5     MOVFF     0xfe5,0xfed                                                                                     
000624   ffed                                                                                                               
000626   d7fb     BRA       0x61e                                                                                           
000628   cfe5     MOVFF     0xfe5,0xffa                                                                                     
00062a   fffa                                                                                                               
00062c   cfe5     MOVFF     0xfe5,0xff4                                                                                     
00062e   fff4                                                                                                               
000630   cfe5     MOVFF     0xfe5,0xff3                                                                                     
000632   fff3                                                                                                               
000634   cfe5     MOVFF     0xfe5,0xff5                                                                                     
000636   fff5                                                                                                               
000638   cfe5     MOVFF     0xfe5,0xff7                                                                                     
00063a   fff7                                                                                                               
00063c   cfe5     MOVFF     0xfe5,0xff6                                                                                     
00063e   fff6                                                                                                               
000640   cfe5     MOVFF     0xfe5,0xfea                                                                                     
000642   ffea                                                                                                               
000644   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
000646   ffe9                                                                                                               
000648   cfe5     MOVFF     0xfe5,0xfda                                                                                     
00064a   ffda                                                                                                               
00064c   50e5     MOVF      0xe5,0x0,0x0                                                                                    
00064e   cfe5     MOVFF     0xfe5,0xfe0                                                                                     
000650   ffe0                                                                                                               
000652   cfe5     MOVFF     0xfe5,0xfd8                                                                                     
000654   ffd8                                                                                                               
000656   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   efd3     GOTO      0x5a6              _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
000658   cfd8     MOVFF     0xfd8,0xfe4    void LowISR(void)                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
00065a   ffe4                                                                                                               
00065c   cfe0     MOVFF     0xfe0,0xfe4                                                                                     
00065e   ffe4                                                                                                               
000660   6ee4     MOVWF     0xe4,0x0                                                                                        
000662   cfda     MOVFF     0xfda,0xfe4                                                                                     
000664   ffe4                                                                                                               
000666   cfe2     MOVFF     0xfe2,0xfda                                                                                     
000668   ffda                                                                                                               
00066a   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
00066c   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
00066e   cfe5     MOVFF     0xfe5,0xfda                                                                                     
000670   ffda                                                                                                               
000672   50e5     MOVF      0xe5,0x0,0x0                                                                                    
000674   cfe5     MOVFF     0xfe5,0xfe0                                                                                     
000676   ffe0                                                                                                               
000678   cfe5     MOVFF     0xfe5,0xfd8                                                                                     
00067a   ffd8                                                                                                               
00067c   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   ef2c     GOTO      0x658              _asm goto LowISR _endasm                                                     F:\MCP\projects\CAN\canToSerial\Source\Main.c
00001a   f003                                                                                                               
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
00067e   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
000680   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
000682   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canToSerial\Source\Main.c
000684   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
000686   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
000688   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
00068a   cfd9     MOVFF     0xfd9,0xfe6    void canParse(CAN_MESSAGE cm)                                                    F:\MCP\projects\CAN\canToSerial\Source\Main.c
00068c   ffe6                                                                                                               
00068e   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000690   ffd9                                                                                                               
000692   0e02     MOVLW     0x2                                                                                             
000694   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
000696   6ade     CLRF      0xde,0x0        int i=0;                                                                        F:\MCP\projects\CAN\canToSerial\Source\Main.c
000698   6add     CLRF      0xdd,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
00069a   0efd     MOVLW     0xfd            uartPutc(UART_START_BYTE);                                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
00069c   6ee6     MOVWF     0xe6,0x0                                                                                        
00069e   ecf2     CALL      0x9e4,0x0                                                                                       
0006a0   f004                                                                                                               
0006a2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0006a4   0ef0     MOVLW     0xf0            uartPutc((BYTE)(cm.ident));                                                     F:\MCP\projects\CAN\canToSerial\Source\Main.c
0006a6   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
0006a8   ffe6                                                                                                               
0006aa   ecf2     CALL      0x9e4,0x0                                                                                       
0006ac   f004                                                                                                               
0006ae   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0006b0   0ef0     MOVLW     0xf0            uartPutc((BYTE)(cm.ident>>8));                                                  F:\MCP\projects\CAN\canToSerial\Source\Main.c
0006b2   cfdb     MOVFF     0xfdb,0x0                                                                                       
0006b4   f000                                                                                                               
0006b6   0ef1     MOVLW     0xf1                                                                                            
0006b8   cfdb     MOVFF     0xfdb,0x1                                                                                       
0006ba   f001                                                                                                               
0006bc   0ef2     MOVLW     0xf2                                                                                            
0006be   cfdb     MOVFF     0xfdb,0x2                                                                                       
0006c0   f002                                                                                                               
0006c2   0ef3     MOVLW     0xf3                                                                                            
0006c4   cfdb     MOVFF     0xfdb,0x3                                                                                       
0006c6   f003                                                                                                               
0006c8   0e08     MOVLW     0x8                                                                                             
0006ca   90d8     BCF       0xd8,0x0,0x0                                                                                    
0006cc   3203     RRCF      0x3,0x1,0x0                                                                                     
0006ce   3202     RRCF      0x2,0x1,0x0                                                                                     
0006d0   3201     RRCF      0x1,0x1,0x0                                                                                     
0006d2   3200     RRCF      0x0,0x1,0x0                                                                                     
0006d4   06e8     DECF      0xe8,0x1,0x0                                                                                    
0006d6   e1f9     BNZ       0x6ca                                                                                           
0006d8   5000     MOVF      0x0,0x0,0x0                                                                                     
0006da   6ee6     MOVWF     0xe6,0x0                                                                                        
0006dc   ecf2     CALL      0x9e4,0x0                                                                                       
0006de   f004                                                                                                               
0006e0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0006e2   0ef0     MOVLW     0xf0            uartPutc((BYTE)(cm.ident>>16));                                                 F:\MCP\projects\CAN\canToSerial\Source\Main.c
0006e4   cfdb     MOVFF     0xfdb,0x0                                                                                       
0006e6   f000                                                                                                               
0006e8   0ef1     MOVLW     0xf1                                                                                            
0006ea   cfdb     MOVFF     0xfdb,0x1                                                                                       
0006ec   f001                                                                                                               
0006ee   0ef2     MOVLW     0xf2                                                                                            
0006f0   cfdb     MOVFF     0xfdb,0x2                                                                                       
0006f2   f002                                                                                                               
0006f4   0ef3     MOVLW     0xf3                                                                                            
0006f6   cfdb     MOVFF     0xfdb,0x3                                                                                       
0006f8   f003                                                                                                               
0006fa   0e10     MOVLW     0x10                                                                                            
0006fc   90d8     BCF       0xd8,0x0,0x0                                                                                    
0006fe   3203     RRCF      0x3,0x1,0x0                                                                                     
000700   3202     RRCF      0x2,0x1,0x0                                                                                     
000702   3201     RRCF      0x1,0x1,0x0                                                                                     
000704   3200     RRCF      0x0,0x1,0x0                                                                                     
000706   06e8     DECF      0xe8,0x1,0x0                                                                                    
000708   e1f9     BNZ       0x6fc                                                                                           
00070a   5000     MOVF      0x0,0x0,0x0                                                                                     
00070c   6ee6     MOVWF     0xe6,0x0                                                                                        
00070e   ecf2     CALL      0x9e4,0x0                                                                                       
000710   f004                                                                                                               
000712   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000714   0ef0     MOVLW     0xf0            uartPutc((BYTE)(cm.ident>>24));                                                 F:\MCP\projects\CAN\canToSerial\Source\Main.c
000716   cfdb     MOVFF     0xfdb,0x0                                                                                       
000718   f000                                                                                                               
00071a   0ef1     MOVLW     0xf1                                                                                            
00071c   cfdb     MOVFF     0xfdb,0x1                                                                                       
00071e   f001                                                                                                               
000720   0ef2     MOVLW     0xf2                                                                                            
000722   cfdb     MOVFF     0xfdb,0x2                                                                                       
000724   f002                                                                                                               
000726   0ef3     MOVLW     0xf3                                                                                            
000728   cfdb     MOVFF     0xfdb,0x3                                                                                       
00072a   f003                                                                                                               
00072c   0e18     MOVLW     0x18                                                                                            
00072e   90d8     BCF       0xd8,0x0,0x0                                                                                    
000730   3203     RRCF      0x3,0x1,0x0                                                                                     
000732   3202     RRCF      0x2,0x1,0x0                                                                                     
000734   3201     RRCF      0x1,0x1,0x0                                                                                     
000736   3200     RRCF      0x0,0x1,0x0                                                                                     
000738   06e8     DECF      0xe8,0x1,0x0                                                                                    
00073a   e1f9     BNZ       0x72e                                                                                           
00073c   5000     MOVF      0x0,0x0,0x0                                                                                     
00073e   6ee6     MOVWF     0xe6,0x0                                                                                        
000740   ecf2     CALL      0x9e4,0x0                                                                                       
000742   f004                                                                                                               
000744   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000746   0ef4     MOVLW     0xf4            uartPutc(cm.extended);                                                          F:\MCP\projects\CAN\canToSerial\Source\Main.c
000748   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
00074a   ffe6                                                                                                               
00074c   ecf2     CALL      0x9e4,0x0                                                                                       
00074e   f004                                                                                                               
000750   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000752   0ef5     MOVLW     0xf5            uartPutc(cm.remote_request);                                                    F:\MCP\projects\CAN\canToSerial\Source\Main.c
000754   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
000756   ffe6                                                                                                               
000758   ecf2     CALL      0x9e4,0x0                                                                                       
00075a   f004                                                                                                               
00075c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00075e   0ef6     MOVLW     0xf6            uartPutc(cm.data_length);                                                       F:\MCP\projects\CAN\canToSerial\Source\Main.c
000760   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
000762   ffe6                                                                                                               
000764   ecf2     CALL      0x9e4,0x0                                                                                       
000766   f004                                                                                                               
000768   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00076a   6ade     CLRF      0xde,0x0        for(i=0;i<8;i++) uartPutc(cm.data[i]);                                          F:\MCP\projects\CAN\canToSerial\Source\Main.c
00076c   6add     CLRF      0xdd,0x0                                                                                        
00076e   cfde     MOVFF     0xfde,0x0                                                                                       
000770   f000                                                                                                               
000772   cfdd     MOVFF     0xfdd,0x1                                                                                       
000774   f001                                                                                                               
000776   90d8     BCF       0xd8,0x0,0x0                                                                                    
000778   5001     MOVF      0x1,0x0,0x0                                                                                     
00077a   e604     BN        0x784                                                                                           
00077c   0e08     MOVLW     0x8                                                                                             
00077e   5c00     SUBWF     0x0,0x0,0x0                                                                                     
000780   0e00     MOVLW     0x0                                                                                             
000782   5801     SUBWFB    0x1,0x0,0x0                                                                                     
000784   e216     BC        0x7b2                                                                                           
000786   50d9     MOVF      0xd9,0x0,0x0                                                                                    
000788   0ff7     ADDLW     0xf7                                                                                            
00078a   6e00     MOVWF     0x0,0x0                                                                                         
00078c   0eff     MOVLW     0xff                                                                                            
00078e   20da     ADDWFC    0xda,0x0,0x0                                                                                    
000790   6e01     MOVWF     0x1,0x0                                                                                         
000792   50de     MOVF      0xde,0x0,0x0                                                                                    
000794   2400     ADDWF     0x0,0x0,0x0                                                                                     
000796   6ee9     MOVWF     0xe9,0x0                                                                                        
000798   50dd     MOVF      0xdd,0x0,0x0                                                                                    
00079a   2001     ADDWFC    0x1,0x0,0x0                                                                                     
00079c   6eea     MOVWF     0xea,0x0                                                                                        
00079e   50ef     MOVF      0xef,0x0,0x0                                                                                    
0007a0   6ee6     MOVWF     0xe6,0x0                                                                                        
0007a2   ecf2     CALL      0x9e4,0x0                                                                                       
0007a4   f004                                                                                                               
0007a6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0007a8   2adf     INCF      0xdf,0x1,0x0                                                                                    
0007aa   0e01     MOVLW     0x1                                                                                             
0007ac   e301     BNC       0x7b0                                                                                           
0007ae   2adb     INCF      0xdb,0x1,0x0                                                                                    
0007b0   d7de     BRA       0x76e                                                                                           
0007b2   0efa     MOVLW     0xfa            uartPutc(UART_END_BYTE);                                                        F:\MCP\projects\CAN\canToSerial\Source\Main.c
0007b4   6ee6     MOVWF     0xe6,0x0                                                                                        
0007b6   ecf2     CALL      0x9e4,0x0                                                                                       
0007b8   f004                                                                                                               
0007ba   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
0007bc   0e02     MOVLW     0x2            }                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
0007be   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
0007c0   e202     BC        0x7c6                                                                                           
0007c2   6ae1     CLRF      0xe1,0x0                                                                                        
0007c4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0007c6   6ee1     MOVWF     0xe1,0x0                                                                                        
0007c8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0007ca   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0007cc   ffd9                                                                                                               
0007ce   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
0007d0   cfd9     MOVFF     0xfd9,0xfe6    void uartParse(BYTE c)                                                           F:\MCP\projects\CAN\canToSerial\Source\Main.c
0007d2   ffe6                                                                                                               
0007d4   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0007d6   ffd9                                                                                                               
0007d8   0e12     MOVLW     0x12                                                                                            
0007da   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                            BYTE i;                                                                         F:\MCP\projects\CAN\canToSerial\Source\Main.c
0007dc   0e01     MOVLW     0x1             unsigned int wait = 0;                                                          F:\MCP\projects\CAN\canToSerial\Source\Main.c
0007de   6adb     CLRF      0xdb,0x0                                                                                        
0007e0   0e02     MOVLW     0x2                                                                                             
0007e2   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
0007e4   0100     MOVLB     0x0             if (waitingMessage==TRUE && (tickGet()-timeout)>TICK_SECOND/20)                 F:\MCP\projects\CAN\canToSerial\Source\Main.c
0007e6   056e     DECF      0x6e,0x0,0x1                                                                                    
0007e8   e11a     BNZ       0x81e                                                                                           
0007ea   ecc3     CALL      0xb86,0x0                                                                                       
0007ec   f005                                                                                                               
0007ee   0100     MOVLB     0x0                                                                                             
0007f0   516f     MOVF      0x6f,0x0,0x1                                                                                    
0007f2   5c18     SUBWF     0x18,0x0,0x0                                                                                    
0007f4   6e00     MOVWF     0x0,0x0                                                                                         
0007f6   5170     MOVF      0x70,0x0,0x1                                                                                    
0007f8   5819     SUBWFB    0x19,0x0,0x0                                                                                    
0007fa   6e01     MOVWF     0x1,0x0                                                                                         
0007fc   5171     MOVF      0x71,0x0,0x1                                                                                    
0007fe   581a     SUBWFB    0x1a,0x0,0x0                                                                                    
000800   6e02     MOVWF     0x2,0x0                                                                                         
000802   5172     MOVF      0x72,0x0,0x1                                                                                    
000804   581b     SUBWFB    0x1b,0x0,0x0                                                                                    
000806   6e03     MOVWF     0x3,0x0                                                                                         
000808   80d8     BSF       0xd8,0x0,0x0                                                                                    
00080a   0e05     MOVLW     0x5                                                                                             
00080c   5400     SUBFWB    0x0,0x0,0x0                                                                                     
00080e   0e00     MOVLW     0x0                                                                                             
000810   5401     SUBFWB    0x1,0x0,0x0                                                                                     
000812   0e00     MOVLW     0x0                                                                                             
000814   5402     SUBFWB    0x2,0x0,0x0                                                                                     
000816   0e00     MOVLW     0x0                                                                                             
000818   5403     SUBFWB    0x3,0x0,0x0                                                                                     
00081a   e201     BC        0x81e                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
00081c   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
00081e   056e     DECF      0x6e,0x0,0x1    if (waitingMessage==TRUE)                                                       F:\MCP\projects\CAN\canToSerial\Source\Main.c
000820   e001     BZ        0x824                                                                                           
000822   d0a5     BRA       0x96e                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
000824   ecc3     CALL      0xb86,0x0           timeout=tickGet();                                                             F:\MCP\projects\CAN\canToSerial\Source\Main.c
000826   f005                                                                                                               
000828   c018     MOVFF     0x18,0x6f                                                                                       
00082a   f06f                                                                                                               
00082c   c019     MOVFF     0x19,0x70                                                                                       
00082e   f070                                                                                                               
000830   c01a     MOVFF     0x1a,0x71                                                                                       
000832   f071                                                                                                               
000834   c01b     MOVFF     0x1b,0x72                                                                                       
000836   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
000838   0e0f     MOVLW     0xf                 if(count>=15)                                                                  F:\MCP\projects\CAN\canToSerial\Source\Main.c
00083a   0100     MOVLB     0x0                                                                                             
00083c   5d73     SUBWF     0x73,0x0,0x1                                                                                    
00083e   e33b     BNC       0x8b6                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
000840   0efe     MOVLW     0xfe                    if (c==UART_END_BYTE)                                                         F:\MCP\projects\CAN\canToSerial\Source\Main.c
000842   50db     MOVF      0xdb,0x0,0x0                                                                                    
000844   6e00     MOVWF     0x0,0x0                                                                                         
000846   6a01     CLRF      0x1,0x0                                                                                         
000848   0efa     MOVLW     0xfa                                                                                            
00084a   1800     XORWF     0x0,0x0,0x0                                                                                     
00084c   e101     BNZ       0x850                                                                                           
00084e   5001     MOVF      0x1,0x0,0x0                                                                                     
000850   e12f     BNZ       0x8b0                                                                                           
                                                    {                                                                             F:\MCP\projects\CAN\canToSerial\Source\Main.c
000852   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
000854   0e03     MOVLW     0x3                         while(!canSendMessage(cm,PRIO_HIGEST));                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
000856   6ee6     MOVWF     0xe6,0x0                                                                                        
000858   50d9     MOVF      0xd9,0x0,0x0                                                                                    
00085a   0f03     ADDLW     0x3                                                                                             
00085c   6ee9     MOVWF     0xe9,0x0                                                                                        
00085e   cfda     MOVFF     0xfda,0xfea                                                                                     
000860   ffea                                                                                                               
000862   cfee     MOVFF     0xfee,0xfe6                                                                                     
000864   ffe6                                                                                                               
000866   cfee     MOVFF     0xfee,0xfe6                                                                                     
000868   ffe6                                                                                                               
00086a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00086c   ffe6                                                                                                               
00086e   cfee     MOVFF     0xfee,0xfe6                                                                                     
000870   ffe6                                                                                                               
000872   cfee     MOVFF     0xfee,0xfe6                                                                                     
000874   ffe6                                                                                                               
000876   cfee     MOVFF     0xfee,0xfe6                                                                                     
000878   ffe6                                                                                                               
00087a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00087c   ffe6                                                                                                               
00087e   cfee     MOVFF     0xfee,0xfe6                                                                                     
000880   ffe6                                                                                                               
000882   cfee     MOVFF     0xfee,0xfe6                                                                                     
000884   ffe6                                                                                                               
000886   cfee     MOVFF     0xfee,0xfe6                                                                                     
000888   ffe6                                                                                                               
00088a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00088c   ffe6                                                                                                               
00088e   cfee     MOVFF     0xfee,0xfe6                                                                                     
000890   ffe6                                                                                                               
000892   cfee     MOVFF     0xfee,0xfe6                                                                                     
000894   ffe6                                                                                                               
000896   cfee     MOVFF     0xfee,0xfe6                                                                                     
000898   ffe6                                                                                                               
00089a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00089c   ffe6                                                                                                               
00089e   ecc6     CALL      0x38c,0x0                                                                                       
0008a0   f001                                                                                                               
0008a2   6e00     MOVWF     0x0,0x0                                                                                         
0008a4   0e10     MOVLW     0x10                                                                                            
0008a6   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
0008a8   5000     MOVF      0x0,0x0,0x0                                                                                     
0008aa   0900     IORLW     0x0                                                                                             
0008ac   e101     BNZ       0x8b0                                                                                           
0008ae   d7d2     BRA       0x854                                                                                           
                                                    }                                                                             F:\MCP\projects\CAN\canToSerial\Source\Main.c
0008b0   0100     MOVLB     0x0                     waitingMessage=FALSE;                                                         F:\MCP\projects\CAN\canToSerial\Source\Main.c
0008b2   6b6e     CLRF      0x6e,0x1                                                                                        
0008b4   d07e     BRA       0x9b2                   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
0008b6   0e07     MOVLW     0x7                 if(count>=7)                                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
0008b8   5d73     SUBWF     0x73,0x0,0x1                                                                                    
0008ba   e313     BNC       0x8e2                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
0008bc   50d9     MOVF      0xd9,0x0,0x0            cm.data[count-7]=c;                                                           F:\MCP\projects\CAN\canToSerial\Source\Main.c
0008be   0f0a     ADDLW     0xa                                                                                             
0008c0   6e00     MOVWF     0x0,0x0                                                                                         
0008c2   cfda     MOVFF     0xfda,0x1                                                                                       
0008c4   f001                                                                                                               
0008c6   0e07     MOVLW     0x7                                                                                             
0008c8   5d73     SUBWF     0x73,0x0,0x1                                                                                    
0008ca   010f     MOVLB     0xf                                                                                             
0008cc   2400     ADDWF     0x0,0x0,0x0                                                                                     
0008ce   6ee9     MOVWF     0xe9,0x0                                                                                        
0008d0   0e00     MOVLW     0x0                                                                                             
0008d2   2001     ADDWFC    0x1,0x0,0x0                                                                                     
0008d4   6eea     MOVWF     0xea,0x0                                                                                        
0008d6   0efe     MOVLW     0xfe                                                                                            
0008d8   cfdb     MOVFF     0xfdb,0xfef                                                                                     
0008da   ffef                                                                                                               
0008dc   0100     MOVLB     0x0                     count++;                                                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
0008de   2b73     INCF      0x73,0x1,0x1                                                                                    
0008e0   d068     BRA       0x9b2                   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
0008e2   0e06     MOVLW     0x6                 if(count>=6)                                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
0008e4   5d73     SUBWF     0x73,0x0,0x1                                                                                    
0008e6   e308     BNC       0x8f8                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
0008e8   0efe     MOVLW     0xfe                    cm.data_length=c;                                                             F:\MCP\projects\CAN\canToSerial\Source\Main.c
0008ea   50db     MOVF      0xdb,0x0,0x0                                                                                    
0008ec   6ee7     MOVWF     0xe7,0x0                                                                                        
0008ee   0e09     MOVLW     0x9                                                                                             
0008f0   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
0008f2   ffdb                                                                                                               
0008f4   2b73     INCF      0x73,0x1,0x1            count++;                                                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
0008f6   d05d     BRA       0x9b2                   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
0008f8   0e05     MOVLW     0x5                 if(count>=5)                                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
0008fa   5d73     SUBWF     0x73,0x0,0x1                                                                                    
0008fc   e308     BNC       0x90e                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
0008fe   0efe     MOVLW     0xfe                    cm.remote_request=c;                                                          F:\MCP\projects\CAN\canToSerial\Source\Main.c
000900   50db     MOVF      0xdb,0x0,0x0                                                                                    
000902   6ee7     MOVWF     0xe7,0x0                                                                                        
000904   0e08     MOVLW     0x8                                                                                             
000906   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
000908   ffdb                                                                                                               
00090a   2b73     INCF      0x73,0x1,0x1            count++;                                                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
00090c   d052     BRA       0x9b2                   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
00090e   0e04     MOVLW     0x4                 if(count>=4)                                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
000910   5d73     SUBWF     0x73,0x0,0x1                                                                                    
000912   e308     BNC       0x924                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
000914   0efe     MOVLW     0xfe                    cm.extended=c;                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
000916   50db     MOVF      0xdb,0x0,0x0                                                                                    
000918   6ee7     MOVWF     0xe7,0x0                                                                                        
00091a   0e07     MOVLW     0x7                                                                                             
00091c   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
00091e   ffdb                                                                                                               
000920   2b73     INCF      0x73,0x1,0x1            count++;                                                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
000922   d047     BRA       0x9b2                   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
000924   0e00     MOVLW     0x0                 if(count>=0)                                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
000926   5d73     SUBWF     0x73,0x0,0x1                                                                                    
000928   e322     BNC       0x96e                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
00092a   0efe     MOVLW     0xfe                    cm.ident+=((DWORD)c<<(count*8));                                              F:\MCP\projects\CAN\canToSerial\Source\Main.c
00092c   cfdb     MOVFF     0xfdb,0x0                                                                                       
00092e   f000                                                                                                               
000930   6a01     CLRF      0x1,0x0                                                                                         
000932   6a02     CLRF      0x2,0x0                                                                                         
000934   6a03     CLRF      0x3,0x0                                                                                         
000936   0e08     MOVLW     0x8                                                                                             
000938   0373     MULWF     0x73,0x1                                                                                        
00093a   50f3     MOVF      0xf3,0x0,0x0                                                                                    
00093c   0b1f     ANDLW     0x1f                                                                                            
00093e   e007     BZ        0x94e                                                                                           
000940   90d8     BCF       0xd8,0x0,0x0                                                                                    
000942   3600     RLCF      0x0,0x1,0x0                                                                                     
000944   3601     RLCF      0x1,0x1,0x0                                                                                     
000946   3602     RLCF      0x2,0x1,0x0                                                                                     
000948   3603     RLCF      0x3,0x1,0x0                                                                                     
00094a   06e8     DECF      0xe8,0x1,0x0                                                                                    
00094c   e1f9     BNZ       0x940                                                                                           
00094e   50d9     MOVF      0xd9,0x0,0x0                                                                                    
000950   0f03     ADDLW     0x3                                                                                             
000952   6ee9     MOVWF     0xe9,0x0                                                                                        
000954   cfda     MOVFF     0xfda,0xfea                                                                                     
000956   ffea                                                                                                               
000958   5000     MOVF      0x0,0x0,0x0                                                                                     
00095a   26ee     ADDWF     0xee,0x1,0x0                                                                                    
00095c   5001     MOVF      0x1,0x0,0x0                                                                                     
00095e   22ee     ADDWFC    0xee,0x1,0x0                                                                                    
000960   5002     MOVF      0x2,0x0,0x0                                                                                     
000962   22ee     ADDWFC    0xee,0x1,0x0                                                                                    
000964   5003     MOVF      0x3,0x0,0x0                                                                                     
000966   22ee     ADDWFC    0xee,0x1,0x0                                                                                    
000968   0100     MOVLB     0x0                     count++;                                                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
00096a   2b73     INCF      0x73,0x1,0x1                                                                                    
00096c   d022     BRA       0x9b2                   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
00096e   0efe     MOVLW     0xfe            if (c==UART_START_BYTE && waitingMessage==FALSE)                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
000970   50db     MOVF      0xdb,0x0,0x0                                                                                    
000972   6e00     MOVWF     0x0,0x0                                                                                         
000974   6a01     CLRF      0x1,0x0                                                                                         
000976   0efd     MOVLW     0xfd                                                                                            
000978   1800     XORWF     0x0,0x0,0x0                                                                                     
00097a   e101     BNZ       0x97e                                                                                           
00097c   5001     MOVF      0x1,0x0,0x0                                                                                     
00097e   e119     BNZ       0x9b2                                                                                           
000980   516e     MOVF      0x6e,0x0,0x1                                                                                    
000982   e117     BNZ       0x9b2                                                                                           
                                            {                                                                               F:\MCP\projects\CAN\canToSerial\Source\Main.c
000984   0e01     MOVLW     0x1                     waitingMessage=TRUE;                                                          F:\MCP\projects\CAN\canToSerial\Source\Main.c
000986   6f6e     MOVWF     0x6e,0x1                                                                                        
000988   ecc3     CALL      0xb86,0x0               timeout=tickGet();                                                            F:\MCP\projects\CAN\canToSerial\Source\Main.c
00098a   f005                                                                                                               
00098c   c018     MOVFF     0x18,0x6f                                                                                       
00098e   f06f                                                                                                               
000990   c019     MOVFF     0x19,0x70                                                                                       
000992   f070                                                                                                               
000994   c01a     MOVFF     0x1a,0x71                                                                                       
000996   f071                                                                                                               
000998   c01b     MOVFF     0x1b,0x72                                                                                       
00099a   f072                                                                                                               
00099c   0100     MOVLB     0x0                     count=0;                                                                      F:\MCP\projects\CAN\canToSerial\Source\Main.c
00099e   6b73     CLRF      0x73,0x1                                                                                        
0009a0   0e03     MOVLW     0x3                     cm.ident=0;                                                                   F:\MCP\projects\CAN\canToSerial\Source\Main.c
0009a2   6adb     CLRF      0xdb,0x0                                                                                        
0009a4   0e04     MOVLW     0x4                                                                                             
0009a6   6adb     CLRF      0xdb,0x0                                                                                        
0009a8   0e05     MOVLW     0x5                                                                                             
0009aa   6adb     CLRF      0xdb,0x0                                                                                        
0009ac   0e06     MOVLW     0x6                                                                                             
0009ae   6adb     CLRF      0xdb,0x0                                                                                        
0009b0   d000     BRA       0x9b2                   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
0009b2   0e12     MOVLW     0x12           }                                                                                F:\MCP\projects\CAN\canToSerial\Source\Main.c
0009b4   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
0009b6   e202     BC        0x9bc                                                                                           
0009b8   6ae1     CLRF      0xe1,0x0                                                                                        
0009ba   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0009bc   6ee1     MOVWF     0xe1,0x0                                                                                        
0009be   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0009c0   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0009c2   ffd9                                                                                                               
0009c4   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:        Tick.c                                                       F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                            *                                                                               F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                            * Author               Date    Comment                                          F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                            *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                            * Johan Böhlin     21-10-06    Original        (Rev 1.0)                          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
000b72   0e79     MOVLW     0x79               TMR0L = TICK_COUNTER_LOW;                                                    F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b74   6ed6     MOVWF     0xd6,0x0                                                                                        
000b76   0efe     MOVLW     0xfe               TMR0H = TICK_COUNTER_HIGH;                                                   F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b78   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
000b7a   0e07     MOVLW     0x7                T0CON = 0b00000000 | TIMER_PRESCALE;                                         F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b7c   6ed5     MOVWF     0xd5,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b7e   8ed5     BSF       0xd5,0x7,0x0       T0CONbits.TMR0ON = 1;                                                        F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b80   84f2     BSF       0xf2,0x2,0x0       INTCONbits.TMR0IF = 1;                                                       F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b82   8af2     BSF       0xf2,0x5,0x0       INTCONbits.TMR0IE = 1;                                                       F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b84   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
000b86   c074     MOVFF     0x74,0x18          return TickCount;                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b88   f018                                                                                                               
000b8a   c075     MOVFF     0x75,0x19                                                                                       
000b8c   f019                                                                                                               
000b8e   c076     MOVFF     0x76,0x1a                                                                                       
000b90   f01a                                                                                                               
000b92   c077     MOVFF     0x77,0x1b                                                                                       
000b94   f01b                                                                                                               
000b96   d000     BRA       0xb98                                                                                           
000b98   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
000b9a   a4f2     BTFSS     0xf2,0x2,0x0       if(INTCONbits.TMR0IF)                                                        F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b9c   d00b     BRA       0xbb4                                                                                           
                                               {                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000b9e   0efe     MOVLW     0xfe                   TMR0H = TICK_COUNTER_HIGH;                                               F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000ba0   6ed7     MOVWF     0xd7,0x0                                                                                        
000ba2   0e79     MOVLW     0x79                   TMR0L = TICK_COUNTER_LOW;                                                F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000ba4   6ed6     MOVWF     0xd6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000ba6   0100     MOVLB     0x0                    TickCount++;                                                             F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000ba8   2b74     INCF      0x74,0x1,0x1                                                                                    
000baa   0e00     MOVLW     0x0                                                                                             
000bac   2375     ADDWFC    0x75,0x1,0x1                                                                                    
000bae   2376     ADDWFC    0x76,0x1,0x1                                                                                    
000bb0   2377     ADDWFC    0x77,0x1,0x1                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000bb2   94f2     BCF       0xf2,0x2,0x0           INTCONbits.TMR0IF = 0;                                                   F:\MCP\projects\CAN\canToSerial\Source\Tick.c
                                               }                                                                            F:\MCP\projects\CAN\canToSerial\Source\Tick.c
000bb4   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canToSerial\Source\Tick.c