Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
TianYing_ty100
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
TY
TianYing_ty100
Commits
0a698858
Commit
0a698858
authored
Sep 18, 2024
by
้ๅฎถไน
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
๐
fix:ๆ ้็ ้ฎ้ข๏ผ61955ใ61932ใ61931ใ61927
parent
3b98ffad
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
203 additions
and
62 deletions
+203
-62
code.c
Firmware/Source/Application/FaultCode/code.c
+151
-25
code.h
Firmware/Source/Application/FaultCode/code.h
+47
-33
Sys_Task_List.c
Firmware/Source/System/Sys_Task_List.c
+5
-4
No files found.
Firmware/Source/Application/FaultCode/code.c
View file @
0a698858
#include "code.h"
static
_st_Init
FaultCodeInit
;
static
uint16_t
u16FaultCodeDtcCount
=
0
;
static
uint16_t
u16FaultCodeDtcCountBack
=
0
;
static
uint16_t
u16FaultCodeDtcCounttemp
=
0
;
static
_st_FaultCode
stFaultCode
[
MaxFaultCode
]
=
{
0
};
static
_st_FaultCode
stFaultCodeBack
[
MaxFaultCode
]
=
{
0
};
static
_st_FaultCode
stFaultCodetemp
[
MaxFaultCode
]
=
{
0
};
static
uint8_t
u8FaultCodeValid
=
0
;
//static _st_Init FaultCodeInit;
//static uint16_t u16FaultCodeDtcCount = 0;
//static uint16_t u16FaultCodeDtcCountBack = 0;
//static uint16_t u16FaultCodeDtcCounttemp = 0;
//static _st_FaultCode stFaultCode[MaxFaultCode] = {0};
//static _st_FaultCode stFaultCodeBack[MaxFaultCode] = {0};
//static _st_FaultCode stFaultCodetemp[MaxFaultCode] = {0};
//static uint8_t u8FaultCodeValid = 0;
FaultCodeList_t
FaultCode_t
;
uint16_t
FaultCodeList
[
MaxFaultCode
];
uint32_t
Get_FaultCodeDtc1
(
void
)
{
uint32_t
u16FaultCode
=
0x0000
;
...
...
@@ -122,24 +126,25 @@ uint32_t Get_FaultCodeDtc2(void)
return
u16FaultCode
;
}
uint16_t
Get_FaultCodeNum
(
void
)
{
uint16_t
u16FaultCode
=
0x0000
;
u16FaultCode
=
Get_CAN_CH0_ID_402_Sig_ECU_DTCAmnt
();
return
u16FaultCode
;
}
uint16_t
Get_FaultCodeValid
(
void
)
{
return
1
;
}
//
uint16_t Get_FaultCodeNum(void)
//
{
//
uint16_t u16FaultCode = 0x0000;
//
//
u16FaultCode = Get_CAN_CH0_ID_402_Sig_ECU_DTCAmnt();
//
return u16FaultCode;
//
}
//
//
uint16_t Get_FaultCodeValid(void)
//
{
//
return 1;
//
}
/**
* @brief ๆ ้็ ๅๅงๅๅฝๆฐ
*/
void
FaultCode_Init
(
void
)
{
#if 0
uint16_t i = 0;
for (i = 0; i < MaxFaultCode; i++)
{
...
...
@@ -159,8 +164,12 @@ void FaultCode_Init(void)
u16FaultCodeDtcCountBack = 0;
u8FaultCodeValid = 0;
#endif
List_Init
(
&
FaultCode_t
,
FaultCodeList
,
(
uint8_t
)
MaxFaultCode
);
}
#if 0
/**
* @brief ๆฅ่ฏขๅฝๅๆ ้็ ๆฏๅฆๅญๅจ
* @param u32FaultCode ๆ ้็
...
...
@@ -333,16 +342,133 @@ void FaultCode_Service(uint16_t Cycle)
u16FaultCodeDtcCountBack = 0;
}
}
#endif
#if 1
uint8_t
List_Init
(
FaultCodeList_t
*
CodeList
,
uint16_t
Arr
[],
uint8_t
Len
)
{
if
(
Len
<
1
)
{
return
1
;
//ๅ่กจ็ฉบ
}
CodeList
->
code_list
=
Arr
;
CodeList
->
len
=
Len
;
CodeList
->
hade
=
0
;
CodeList
->
code_num
=
0
;
CodeList
->
tail
=
0
;
CodeList
->
disp
=
0
;
return
0
;
}
uint8_t
List_Find
(
FaultCodeList_t
*
CodeList
,
uint16_t
FaultCode
)
{
for
(
int
i
=
CodeList
->
hade
;
i
<
CodeList
->
tail
;
i
++
)
{
if
(
CodeList
->
code_list
[
i
]
==
FaultCode
)
{
return
1
;
}
}
return
0
;
}
uint8_t
List_add
(
FaultCodeList_t
*
CodeList
,
uint16_t
FaultCode
)
{
if
((
CodeList
->
tail
+
1
)
>=
CodeList
->
len
)
{
return
1
;
//ๅ่กจๆปก
}
if
(
List_Find
(
CodeList
,
FaultCode
)
!=
0
)
{
return
2
;
//ๅทฒๅญๅจ
}
// if(CodeList->code_num <= (CodeList->tail - CodeList->hade))
// {
// return 3;
// }
CodeList
->
code_list
[
CodeList
->
tail
]
=
FaultCode
;
CodeList
->
tail
++
;
return
0
;
}
uint8_t
List_Clear
(
FaultCodeList_t
*
CodeList
)
{
CodeList
->
hade
=
0
;
CodeList
->
tail
=
0
;
//CodeList->disp = 0;
//CodeList->code_num = 0;
return
0
;
}
uint8_t
List_GetNum
(
FaultCodeList_t
*
CodeList
)
{
return
CodeList
->
tail
-
CodeList
->
hade
;
}
uint16_t
FaultTimeCount
=
0
;
//10ms
void
FaultCode_Servers
(
void
)
{
FaultTimeCount
++
;
uint16_t
FaultCodeNum
=
Get_CAN_CH0_ID_402_Sig_ECU_DTCAmnt
();
if
(
FaultCode_t
.
code_num
!=
FaultCodeNum
)
//ๆ ้็ ๆฐ้ๅๅ๏ผๆธ ็ฉบ
{
FaultCode_t
.
code_num
=
FaultCodeNum
;
List_Clear
(
&
FaultCode_t
);
}
if
((
List_GetNum
(
&
FaultCode_t
)
>
FaultCodeNum
)
)
//ๆ ้็ ๅๅ๏ผๆธ ็ฉบ
{
List_Clear
(
&
FaultCode_t
);
}
if
(
FaultCodeNum
!=
0
)
{
List_add
(
&
FaultCode_t
,
Get_FaultCodeDtc1
());
if
(
FaultCodeNum
>
1
)
{
List_add
(
&
FaultCode_t
,
Get_FaultCodeDtc2
());
}
}
//else
//{
// //List_Clear(&FaultCode_t);//ๆ ้็
//}
}
uint16_t
List_Display
(
FaultCodeList_t
*
CodeList
,
uint16_t
TimeCount
)
{
if
(
CodeList
->
hade
==
CodeList
->
tail
)
{
return
0
;
}
if
(
TimeCount
>=
500
)
{
FaultTimeCount
=
0
;
if
(
++
(
CodeList
->
disp
)
>=
(
CodeList
->
tail
))
{
CodeList
->
disp
=
CodeList
->
hade
;
}
}
return
CodeList
->
code_list
[
CodeList
->
disp
];
}
#endif
/**
* @brief ่ทๅๅฝๅๆ ้็
*/
uint32_t
Get_Current_FaultCode
(
void
)
{
return
stFaultCode
[
0
].
u16FaultCode
;
//return stFaultCode[0].u16FaultCode;
return
List_Display
(
&
FaultCode_t
,
FaultTimeCount
);
}
uint8_t
Get_FaultCode_Valid
(
void
)
{
return
u8FaultCodeValid
;
}
//
uint8_t Get_FaultCode_Valid(void)
//
{
//
return u8FaultCodeValid;
//
}
Firmware/Source/Application/FaultCode/code.h
View file @
0a698858
...
...
@@ -16,44 +16,58 @@
#define MaxFaultCode 72
#define FaultCodeCount 5000
typedef
enum
{
DTC_1
,
DTC_2
,
DTC_3
,
NUM_FAULT_TYPES
,
}
FaultCodeType_Num
;
typedef
uint32_t
(
*
FaultCodeCallback
)(
void
);
/* ๆ ้็ ๅ่ฐๅฝๆฐ */
typedef
uint16_t
(
*
FaultCodeNumback
)(
void
);
/* ๆ ้็ ไธชๆฐๅ่ฐๅฝๆฐ */
typedef
uint16_t
(
*
FaultCodeValidback
)(
void
);
/* ๆ ้็ ๆๆๅ่ฐๅฝๆฐ */
typedef
struct
__attribute__
((
aligned
(
4
)))
{
uint32_t
u16FaultCode
;
/* ๆ ้็ */
uint16_t
u16FaultCodeCount
;
/* ๆ ้็ ๆปๆฐ */
}
_st_FaultCode
;
typedef
struct
__attribute__
((
aligned
(
4
)))
{
FaultCodeCallback
callbacks
[
NUM_FAULT_TYPES
];
FaultCodeNumback
FaultCodeNumCbk
;
FaultCodeValidback
FaultCodeVaildCbk
;
}
_st_Init
;
extern
void
FaultCode_Service
(
uint16_t
Cycle
);
extern
void
FaultCode_Init
(
void
);
uint16_t
*
code_list
;
uint8_t
hade
;
uint8_t
tail
;
uint8_t
code_num
;
uint8_t
len
;
uint8_t
disp
;
}
FaultCodeList_t
;
//typedef enum
//{
// DTC_1,
// DTC_2,
// DTC_3,
// NUM_FAULT_TYPES,
//} FaultCodeType_Num;
//
//typedef uint32_t (*FaultCodeCallback)(void); /* ๆ ้็ ๅ่ฐๅฝๆฐ */
//typedef uint16_t (*FaultCodeNumback)(void); /* ๆ ้็ ไธชๆฐๅ่ฐๅฝๆฐ */
//typedef uint16_t (*FaultCodeValidback)(void); /* ๆ ้็ ๆๆๅ่ฐๅฝๆฐ */
//
//typedef struct __attribute__((aligned(4)))
//{
// uint32_t u16FaultCode; /* ๆ ้็ */
// uint16_t u16FaultCodeCount; /* ๆ ้็ ๆปๆฐ */
//} _st_FaultCode;
//
//
//
//typedef struct __attribute__((aligned(4)))
//{
// 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
);
//extern uint8_t Get_FaultCode_Valid(void);
uint8_t
List_Init
(
FaultCodeList_t
*
CodeList
,
uint16_t
Arr
[],
uint8_t
Len
);
void
FaultCode_Servers
(
void
);
#endif
\ No newline at end of file
Firmware/Source/System/Sys_Task_List.c
View file @
0a698858
...
...
@@ -17,7 +17,7 @@ void Sys_Pseudo_Real_Time_Tasks(void)
void
Sys_2ms_Tasks
(
void
)
{
Common_Input_Para
();
Common_Input_Para
();
//Can_Write_Fun(&CAN_CH0_CanMsgTxOp, 2000u);
Sys_Status_Update_Service
();
Analog_Signal_Conv_Service
();
...
...
@@ -57,12 +57,13 @@ void Sys_10ms_Tasks(void)
Protocol_Service
();
Protocol_Send_Service
();
FaultCode_Service
(
10u
);
//FaultCode_Service(10u);
FaultCode_Servers
();
}
void
Sys_20ms_Tasks
(
void
)
{
//Key_Clear_Time();
//Key_Clear_Time();
//Key_Auto_Save();
Data_Vehicle_Speed_Processing_Service
();
Data_Engine_Speed_Processing_Service
();
...
...
@@ -74,7 +75,7 @@ void Sys_20ms_Tasks(void)
void
Sys_50ms_Tasks
(
void
)
{
LED_Driver_Scan_Refresh
();
Telltales_Management
();
Gauge_Service
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment