/*
 * api_Dflash.h
 *
 *  Created on: Aug 7, 2014
 *      Author: QTC
 */


#ifdef        GLOBALS_API_EE
   #define   EXTERN_API_EE
#else
   #define   EXTERN_API_EE     extern
#endif

#ifndef API_EE_H_
#define API_EE_H_


    
          
    #define               CheckFlag                 0x55
    #define CLEAR_BASE 64
    #define CLEAR_ODO_LEN 8
    #define CLEAR_ODO_ADDR CLEAR_BASE + 0

    //-- EEprom 24G16 --//
    //2048Byte 
    //11λѰַ 
    //128ҳ*16 
    //8Block*256 
    //------------------//
    
    #define               Register_Len				16

    //-- Acckm (Block0) --//
    #define               EEACC_START			    0
    #define               EEACC_END			      96
    #define               EEBAKACC				    112
    #define               EE_2E_ADDR				  0


    #define EEPROM_BLOCK_ODO                0                    //Acckm
    #define EEPROM_BLOCK_DIAG_2E            EEPROM_BLOCK1 //0xA2 //2E����
    #define EEPROM_BLOCK_DTC_COUNTER1       0xA4                 //DTC
    #define EEPROM_BLOCK_DTC_COUNTER2       0xA6                 //DTC


    EXTERN_API_EE        void         Api_CopyRam(INT8U *Dp, INT8U *Sp, INT8U Nub);
    EXTERN_API_EE        void         Api_WriteMeterInfo(INT8U  PhyAdd, INT8U  MemAdd, INT8U *Data);
    EXTERN_API_EE        void         Api_ReadMeterInfo(INT8U  PhyAdd, INT8U  MemAdd, INT8U *Data);
    EXTERN_API_EE        void         Api_ClearAccStock(void);
    EXTERN_API_EE        INT8U        Api_CreateCRCCheckSum(INT8U *p , INT8U Nub);
    EXTERN_API_EE        void         Api_WriteAccReg(void);
    EXTERN_API_EE        void         Api_ReadAccKm(void);
    EXTERN_API_EE        void         Api_WriteProductInfo(INT8U  PhyAdd, INT8U  MemAdd, INT8U *Data);
    EXTERN_API_EE        void         Api_ReadProductInfo(INT8U  PhyAdd, INT8U  MemAdd, INT8U *Data);
    EXTERN_API_EE        void         Write2EData(void);
    EXTERN_API_EE        void         Init2EData(void);
    EXTERN_API_EE        void         App_2E_Write_handle(void) ;


#endif /* API_EE_H_ */