Subversion Repositories NaviCtrl

Rev

Rev 254 | Rev 261 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 254 Rev 256
Line 84... Line 84...
84
void EEPROM_RxDataHandler(u8* pRxBuffer, u8 RxBufferSize)
84
void EEPROM_RxDataHandler(u8* pRxBuffer, u8 RxBufferSize)
85
{       // if number of byte are matching
85
{       // if number of byte are matching
86
        if((RxBufferSize == EEPROM_DataLen))
86
        if((RxBufferSize == EEPROM_DataLen))
87
        {       //copy data from primary buffer to target buffer 
87
        {       //copy data from primary buffer to target buffer 
88
                if(EEPROM_pData) memcpy((u8*)EEPROM_pData, pRxBuffer, EEPROM_DataLen);
88
                if(EEPROM_pData) memcpy((u8*)EEPROM_pData, pRxBuffer, EEPROM_DataLen);
89
        }                
89
        }        
90
}
90
}
Line 91... Line 91...
91
 
91
 
92
// ----------------------------------------------------------------------------------------
92
// ----------------------------------------------------------------------------------------
93
EEPROM_Result_t EEPROM_Transfer(u8 Direction, u16 Address, u8 *pData, u16 DataLen)
93
EEPROM_Result_t EEPROM_Transfer(u8 Direction, u16 Address, u8 *pData, u16 DataLen)
Line 141... Line 141...
141
                        }
141
                        }
142
                }
142
                }
143
                //wait for end of this transfer
143
                //wait for end of this transfer
144
                if(I2C_WaitForEndOfTransmission(I2C_TRANSFER_TIMEOUT))
144
                if(I2C_WaitForEndOfTransmission(I2C_TRANSFER_TIMEOUT))
145
                {
145
                {
146
                        DebugOut.Analog[26] = I2C_Error;
-
 
147
                        if(I2C_Error == I2C_ERROR_NONE) retval = EEPROM_SUCCESS;
146
                        if(I2C_Error == I2C_ERROR_NONE) return(EEPROM_SUCCESS);
148
                        else retval = EEPROM_ERROR_I2C_TRANSFER_TIMEOUT;
147
                        else retval = EEPROM_DATA_TRANSFER_INCOMPLETE;
149
                        break;
-
 
150
                }
148
                }
-
 
149
                else// i2c transfer timed out
-
 
150
                {
-
 
151
                        return(EEPROM_ERROR_I2C_TRANSFER_TIMEOUT);     
-
 
152
                }
151
                // or retry
153
                // or retry             
152
                I2C_State = I2C_STATE_IDLE;    
-
 
153
        } while(++retry < I2C_ACCESS_RETRYS);
154
        } while(++retry < I2C_ACCESS_RETRYS);
154
        return(retval);
155
        return(retval);
155
}
156
}
Line 156... Line 157...
156
 
157