code.h 1.17 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#ifndef CODE_H
#define CODE_H
#include <stdint.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

#include "Application.h"

/*故障码类型A can报文轮询发送方式*/
#define FaultCodeType_A     1


#define FaultCodeType       FaultCodeType_A

#define MaxFaultCode 72
#define FaultCodeCount 5000

typedef enum
{
21 22 23
    DTC_1,
    DTC_2,
    DTC_3,
24 25 26 27 28 29 30
    NUM_FAULT_TYPES,
} FaultCodeType_Num;

typedef uint32_t (*FaultCodeCallback)(void);    /* 故障码回调函数 */
typedef uint16_t (*FaultCodeNumback)(void);     /* 故障码个数回调函数 */
typedef uint16_t (*FaultCodeValidback)(void);     /* 故障码有效回调函数 */

31
typedef struct __attribute__((aligned(4)))
32 33 34 35 36 37 38
{
    uint32_t u16FaultCode;          /* 故障码 */
    uint16_t u16FaultCodeCount;     /* 故障码总数 */
} _st_FaultCode;



39
typedef struct __attribute__((aligned(4)))
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
{
    FaultCodeCallback callbacks[NUM_FAULT_TYPES];
    FaultCodeNumback FaultCodeNumCbk;
    FaultCodeValidback FaultCodeVaildCbk;

} _st_Init;




extern void FaultCode_Service(uint16_t Cycle);

extern void FaultCode_Init(void);



extern uint32_t Get_Current_FaultCode(void);
extern uint8_t Get_FaultCode_Valid(void);

#endif