Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiancetai
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
陈家乐
jiancetai
Commits
54075b63
Commit
54075b63
authored
Apr 05, 2026
by
黄国庆
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
feat:移植SIF一线通文件
parent
984eb287
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
1297 additions
and
0 deletions
+1297
-0
WMHComm.c
YueJin_test_bench/source/Appliciation/WMHComm.c
+158
-0
WMHComm.h
YueJin_test_bench/source/Appliciation/WMHComm.h
+41
-0
WMHCommData.c
YueJin_test_bench/source/Appliciation/WMHCommData.c
+204
-0
WMHCommData.h
YueJin_test_bench/source/Appliciation/WMHCommData.h
+306
-0
mwWMHComm.c
YueJin_test_bench/source/Appliciation/mwWMHComm.c
+535
-0
mwWMHComm.h
YueJin_test_bench/source/Appliciation/mwWMHComm.h
+53
-0
No files found.
YueJin_test_bench/source/Appliciation/WMHComm.c
0 → 100644
View file @
54075b63
#include "wmhcomm.h"
#include "wmhcommdata.h"
#include "mwwmhcomm.h"
#include "TYW_stdint.h"
#include "string.h"
#include "Task.h"
#include "CAN_Communication_Matrix.h"
const
WMH_COMM_INIT_FRAME_T
WMHCommRecvInitList
[
EM_WMH_COMM_RECV_MSG_TOTAL
]
=
{
{
0x80u
,
1000u
,
COMM_DATA_UNION_WI_BOX_LENGTH_0X80
,
5000u
,
1u
,
WMHCommDataWiBox_0x80
.
Bytes
,
WMHCommFrameCallBack_WiBox_0x80
,
WMHCommFrameTimeoutFunc_WiBox80
,
WMHCommFrameCheckSumFunc
},
};
const
WMH_COMM_INIT_FRAME_T
WMHCommSendInitList
[
EM_WMH_COMM_SEND_MSG_TOTAL
]
=
{
{
0x90u
,
1000u
,
COMM_DATA_UNION_WI_BOX_LENGTH_0X90
,
10000u
,
1u
,
WMHCommDataWiBox_0x90
.
Bytes
,
WMHCommFrameCallBack_Icm
,
WMHCommFrameTimeoutFunc_WiBox_90
,
WMHCommFrameCheckSumFunc
},
{
0x91u
,
1000u
,
COMM_DATA_UNION_WI_BOX_LENGTH_0X91
,
10000u
,
1u
,
WMHCommDataWiBox_0x91
.
Bytes
,
WMHCommFrameCallBack_Icm
,
WMHCommFrameTimeoutFunc_WiBox_91
,
WMHCommFrameCheckSumFunc
},
{
0x92u
,
1000u
,
COMM_DATA_UNION_WI_BOX_LENGTH_0X92
,
10000u
,
1u
,
WMHCommDataWiBox_0x92
.
Bytes
,
WMHCommFrameCallBack_Icm
,
WMHCommFrameTimeoutFunc_WiBox_92
,
WMHCommFrameCheckSumFunc
},
};
uint32_t
WMHCommRecvMessageTimeout
[
EM_WMH_COMM_RECV_MSG_TOTAL
]
=
{
0
};
uint32_t
WMHCommSendMessageTimeout
[
EM_WMH_COMM_SEND_MSG_TOTAL
]
=
{
0
};
uint32_t
WMHCommAnalysisPos
=
0
;
void
WMHCommInit
(
void
)
{
uint8_t
i
=
0
;
for
(
i
=
0
;
i
<
EM_WMH_COMM_RECV_MSG_TOTAL
;
i
++
)
{
(
void
)
memset
(
WMHCommRecvInitList
[
i
].
SignalList
,
0
,
WMHCommRecvInitList
[
i
].
DLC
);
WMHCommRecvMessageTimeout
[
i
]
=
WMHCommRecvInitList
[
i
].
TimeoutMax
;
}
for
(
i
=
0
;
i
<
EM_WMH_COMM_SEND_MSG_TOTAL
;
i
++
)
{
(
void
)
memset
(
WMHCommSendInitList
[
i
].
SignalList
,
0
,
WMHCommSendInitList
[
i
].
DLC
);
WMHCommSendMessageTimeout
[
i
]
=
WMHCommSendInitList
[
i
].
TimeoutMax
;
}
WMHCommAnalysisPos
=
0
;
}
void
WMHCommFramePackedTransmit
(
EM_WMH_COMM_SEND_MSG_T
MsgIdx
)
{
uint8_t
data
[
64
]
=
{
0
};
uint8_t
length
=
0
;
if
((
MsgIdx
<
EM_WMH_COMM_SEND_MSG_TOTAL
)
&&
(
MsgIdx
>
0
)){
if
((
WMHCommSendInitList
[
MsgIdx
].
DLC
+
4
)
<=
64
)
{
if
(
WMHCommSendInitList
[
MsgIdx
].
FrameCallBackFunc
!=
NULL_P
)
{
WMHCommSendInitList
[
MsgIdx
].
FrameCallBackFunc
();
}
data
[
0
]
=
WMHCommSendInitList
[
MsgIdx
].
ID
;
//id
data
[
1
]
=
WMH_COMM_PROTOCOL_VERSION
;
//主协议版本号
data
[
2
]
=
WMHCommSendInitList
[
MsgIdx
].
DLC
+
1u
;
//数据长度
(
void
)
memcpy
(
&
data
[
3
],
WMHCommSendInitList
[
MsgIdx
].
SignalList
,
WMHCommSendInitList
[
MsgIdx
].
DLC
);
data
[
3
+
WMHCommSendInitList
[
MsgIdx
].
DLC
]
=
WMHCommSendInitList
[
MsgIdx
].
FrameGetCheckSum
(
WMHCommSendInitList
[
MsgIdx
].
ID
,
WMHCommSendInitList
[
MsgIdx
].
DLC
,
data
[
1
],
WMHCommSendInitList
[
MsgIdx
].
SignalList
);
length
=
WMHCommSendInitList
[
MsgIdx
].
DLC
+
4u
;
mwWMHCommTransmitBytes
(
data
,
length
);
WMHCommSendMessageTimeout
[
MsgIdx
]
=
WMHCommSendInitList
[
MsgIdx
].
TimeoutMax
;
}
}
else
if
(
MsgIdx
==
0
)
{
if
((
WMHCommSendInitList
[
MsgIdx
].
DLC
+
4
)
<=
64
)
{
if
(
WMHCommSendInitList
[
MsgIdx
].
FrameCallBackFunc
!=
NULL_P
)
{
WMHCommSendInitList
[
MsgIdx
].
FrameCallBackFunc
();
}
data
[
0
]
=
WMHCommSendInitList
[
MsgIdx
].
ID
;
//id
data
[
1
]
=
WMH_COMM_PROTOCOL_VERSION
;
//主协议版本号
data
[
2
]
=
WMHCommSendInitList
[
MsgIdx
].
DLC
+
1u
;
//数据长度
(
void
)
memcpy
(
&
data
[
3
],
WMHCommSendInitList
[
MsgIdx
].
SignalList
,
WMHCommSendInitList
[
MsgIdx
].
DLC
);
data
[
3
+
WMHCommSendInitList
[
MsgIdx
].
DLC
]
=
WMHCommSendInitList
[
MsgIdx
].
FrameGetCheckSum
(
WMHCommSendInitList
[
MsgIdx
].
ID
,
WMHCommSendInitList
[
MsgIdx
].
DLC
,
data
[
1
],
WMHCommSendInitList
[
MsgIdx
].
SignalList
);
length
=
WMHCommSendInitList
[
MsgIdx
].
DLC
+
4u
;
mwWMHCommTransmitBytes_90
(
data
,
length
);
WMHCommSendMessageTimeout
[
MsgIdx
]
=
WMHCommSendInitList
[
MsgIdx
].
TimeoutMax
;
}
}
}
void
WMHCommFrameUnpacked
(
uint8_t
*
data
,
uint32_t
length
)
{
uint32_t
i
=
EM_WMH_COMM_RECV_MSG_WI_BOX_0x80
;
if
(
length
>
0
)
{
if
(
data
[
0
]
==
WMHCommRecvInitList
[
i
].
ID
)
{
if
((
data
[
2
]
==
(
WMHCommRecvInitList
[
i
].
DLC
+
1
))
&&
(
length
==
(
WMHCommRecvInitList
[
i
].
DLC
+
4
)))
{
if
(
data
[
length
-
1
]
==
WMHCommRecvInitList
[
i
].
FrameGetCheckSum
(
data
[
0
],
WMHCommRecvInitList
[
i
].
DLC
,
data
[
1
],
&
data
[
3
]))
{
(
void
)
memcpy
(
WMHCommRecvInitList
[
i
].
SignalList
,
&
data
[
3
],
WMHCommRecvInitList
[
i
].
DLC
);
if
(
WMHCommRecvInitList
[
i
].
FrameCallBackFunc
!=
NULL_P
)
{
WMHCommRecvInitList
[
i
].
FrameCallBackFunc
();
}
WMHCommRecvMessageTimeout
[
i
]
=
WMHCommRecvInitList
[
i
].
TimeoutMax
;
Can_Msg_Tx_Overwrite
(
&
CAN_CH4_CanMsgTxOp
,
0u
,
1u
,
1000u
);
}
}
}
}
}
void
WMHCommTimeoutService
(
uint32_t
TimerDelta
)
{
uint8_t
i
=
0
;
for
(
i
=
0
;
i
<
EM_WMH_COMM_RECV_MSG_TOTAL
;
i
++
)
{
if
(
WMHCommRecvMessageTimeout
[
i
]
>
TimerDelta
)
{
WMHCommRecvMessageTimeout
[
i
]
-=
TimerDelta
;
}
else
{
if
(
WMHCommRecvMessageTimeout
[
i
]
>
0
)
{
if
(
WMHCommRecvInitList
[
i
].
FrameTimeoutFunc
!=
NULL_P
)
{
WMHCommRecvInitList
[
i
].
FrameTimeoutFunc
();
}
}
WMHCommRecvMessageTimeout
[
i
]
=
0
;
}
}
for
(
i
=
0
;
i
<
EM_WMH_COMM_SEND_MSG_TOTAL
;
i
++
)
{
if
(
WMHCommSendMessageTimeout
[
i
]
>
TimerDelta
)
{
WMHCommSendMessageTimeout
[
i
]
-=
TimerDelta
;
}
else
{
if
(
WMHCommSendMessageTimeout
[
i
]
>
0
)
{
if
(
WMHCommSendInitList
[
i
].
FrameTimeoutFunc
!=
NULL_P
)
{
WMHCommSendInitList
[
i
].
FrameTimeoutFunc
();
}
}
WMHCommSendMessageTimeout
[
i
]
=
0
;
}
}
}
uint32_t
WMHCommServiceCnts
=
0
;
void
WMHCommService
(
uint32_t
TimerDelta
)
{
uint8_t
data
[
64
]
=
{
0
};
uint32_t
length
=
0
;
uint32_t
tmpPos
=
0
;
uint8_t
*
tmpAddr
=
NULL_P
;
uint8_t
i
=
0
;
WMHCommTimeoutService
(
TimerDelta
);
WMHCommServiceCnts
+=
TimerDelta
;
if
(
WMHCommServiceCnts
>=
50
)
{
WMHCommServiceCnts
=
0
;
//mwWMHCommTransmitBytes(tmpBuffer, length);
tmpAddr
=
mwWMHCommGetRecvData
(
&
length
,
&
tmpPos
);
if
(
tmpAddr
!=
NULL_P
)
{
i
=
0
;
while
(
WMHCommAnalysisPos
!=
tmpPos
)
{
data
[
i
++
]
=
(
tmpAddr
[
WMHCommAnalysisPos
++
]);
WMHCommAnalysisPos
=
WMHCommAnalysisPos
%
length
;
}
// if (SYS_OPR_STAT_IGN_ON)
// {
WMHCommFrameUnpacked
(
data
,
i
);
// }
}
}
}
uint8_t
WMHCommFrameGetRecvTimeoutSt
(
uint8_t
n
)
{
uint8_t
ret
=
0
;
if
(
n
<
EM_WMH_COMM_RECV_MSG_TOTAL
)
{
ret
=
(
uint8_t
)(
WMHCommRecvMessageTimeout
[
n
]
==
0
);
}
return
ret
;
}
YueJin_test_bench/source/Appliciation/WMHComm.h
0 → 100644
View file @
54075b63
#ifndef __WMH_COMM_H_
#define __WMH_COMM_H_
#include "TYW_stdint.h"
#define NULL_P (void *)0
typedef
struct
{
uint8_t
ID
;
//ID;
uint16_t
Peroid
;
//报文周期,单位ms;
uint8_t
DLC
;
//报文长度;
uint16_t
TimeoutMax
;
//最大超时时间,单位ms;
uint8_t
RecoverContinueCnts
;
//报文超时后连续收到RecoverContinueCnts条判定报文恢复,报文周期不超过Peroid*1.2,填0或1为收到1条报文即判定报文恢复;
uint8_t
*
SignalList
;
//信号列表数组
void
(
*
FrameCallBackFunc
)(
void
);
//收到报文时会调用该回调函数;
void
(
*
FrameTimeoutFunc
)(
void
);
//TimeoutMax超时时会调用FrameTimeoutFunc(0),TimeoutLv[0]超时时调用FrameTimeoutFunc(1),TimeoutLv[1]超时时调用FrameTimeoutFunc(2),TimeoutLv[2]超时时调用FrameTimeoutFunc(3);
uint8_t
(
*
FrameGetCheckSum
)(
uint32_t
ID
,
uint8_t
DLC
,
uint8_t
ProtocolVersion
,
uint8_t
*
data
);
//接收报文时调用该函数,返回1表示checksum正确,0表示错误,如果错误,则不会调用FrameAnalysisFunc函数
}
WMH_COMM_INIT_FRAME_T
;
typedef
enum
{
EM_WMH_COMM_RECV_MSG_WI_BOX_0x80
=
0
,
// EM_WMH_COMM_RECV_MSG_WI_BOX_0x91,
// EM_WMH_COMM_RECV_MSG_WI_BOX_0x92,
EM_WMH_COMM_RECV_MSG_TOTAL
,
}
EM_WMH_COMM_RECV_MSG_T
;
typedef
enum
{
// EM_WMH_COMM_SEND_MSG_ICM_0x80 = 0,
EM_WMH_COMM_SEND_MSG_ICM_0x90
=
0
,
EM_WMH_COMM_SEND_MSG_ICM_0x91
,
EM_WMH_COMM_SEND_MSG_ICM_0x92
,
EM_WMH_COMM_SEND_MSG_TOTAL
,
}
EM_WMH_COMM_SEND_MSG_T
;
extern
void
WMHCommInit
(
void
);
extern
void
WMHCommService
(
uint32_t
TimerDelta
);
extern
void
WMHCommFramePackedTransmit
(
EM_WMH_COMM_SEND_MSG_T
MsgIdx
);
extern
uint8_t
WMHCommFrameGetRecvTimeoutSt
(
uint8_t
n
);
#endif
YueJin_test_bench/source/Appliciation/WMHCommData.c
0 → 100644
View file @
54075b63
#include "wmhcomm.h"
#include "wmhcommdata.h"
#include "TYW_stdint.h"
#include "string.h"
uint8_t
WMHCommFrameCheckSumFunc
(
uint32_t
ID
,
uint8_t
DLC
,
uint8_t
ProtocolVersion
,
uint8_t
*
data
)
{
uint32_t
ret
=
0
;
uint8_t
i
=
0
;
ret
+=
ID
;
ret
+=
ProtocolVersion
;
ret
+=
DLC
+
1
;
for
(
i
=
0
;
i
<
DLC
;
i
++
)
{
ret
+=
data
[
i
];
}
return
(
uint8_t
)(
ret
&
0xFF
);
}
/*******************************************************************************************
* Recv Message
*******************************************************************************************/
extern
const
WMH_COMM_INIT_FRAME_T
WMHCommRecvInitList
[
EM_WMH_COMM_RECV_MSG_TOTAL
];
COMM_DATA_UNION_WI_BOX_0x80
WMHCommDataWiBox_0x80
;
COMM_DATA_UNION_WI_BOX_0x90
WMHCommDataWiBox_0x90
;
COMM_DATA_UNION_WI_BOX_0x91
WMHCommDataWiBox_0x91
;
COMM_DATA_UNION_WI_BOX_0x92
WMHCommDataWiBox_0x92
;
void
WMHCommFrameCallBack_WiBox_0x80
(
void
)
{
uint8_t
tmpCond
=
0
;
}
void
WMHCommFrameCallBack_WiBox_0x90
(
void
)
{
uint8_t
tmpCond
=
0
;
}
void
WMHCommFrameCallBack_WiBox_0x91
(
void
)
{
uint8_t
tmpCond
=
0
;
}
void
WMHCommFrameTimeoutFunc_WiBox
(
void
)
{
// 替代第一个 memset
for
(
int
i
=
0
;
i
<
COMM_DATA_UNION_WI_BOX_LENGTH_0X90
;
i
++
)
{
WMHCommDataWiBox_0x90
.
Bytes
[
i
]
=
0
;
}
// 替代第二个 memset
for
(
int
i
=
0
;
i
<
COMM_DATA_UNION_WI_BOX_LENGTH_0X91
;
i
++
)
{
WMHCommDataWiBox_0x91
.
Bytes
[
i
]
=
0
;
}
// 替代第三个 memset
for
(
int
i
=
0
;
i
<
COMM_DATA_UNION_WI_BOX_LENGTH_0X92
;
i
++
)
{
WMHCommDataWiBox_0x92
.
Bytes
[
i
]
=
0
;
}
}
void
WMHCommFrameTimeoutFunc_WiBox_90
(
void
)
{
// 替代第一个 memset
for
(
int
i
=
0
;
i
<
COMM_DATA_UNION_WI_BOX_LENGTH_0X90
;
i
++
)
{
WMHCommDataWiBox_0x90
.
Bytes
[
i
]
=
0
;
}
}
void
WMHCommFrameTimeoutFunc_WiBox_91
(
void
)
{
// 替代第二个 memset
for
(
int
i
=
0
;
i
<
COMM_DATA_UNION_WI_BOX_LENGTH_0X91
;
i
++
)
{
WMHCommDataWiBox_0x91
.
Bytes
[
i
]
=
0
;
}
}
void
WMHCommFrameTimeoutFunc_WiBox_92
(
void
)
{
// 替代第三个 memset
for
(
int
i
=
0
;
i
<
COMM_DATA_UNION_WI_BOX_LENGTH_0X92
;
i
++
)
{
WMHCommDataWiBox_0x92
.
Bytes
[
i
]
=
0
;
}
}
void
WMHCommFrameTimeoutFunc_WiBox80
(
void
)
{
// 替代第一个 memset
for
(
int
i
=
0
;
i
<
COMM_DATA_UNION_WI_BOX_LENGTH_0X80
;
i
++
)
{
WMHCommDataWiBox_0x80
.
Bytes
[
i
]
=
0
;
}
}
/*******************************************************************************************
* Send Message
*******************************************************************************************/
COMM_DATA_UNION_ICM
WMHCommDataIcm
;
// uint8_t count = 0;
void
WMHCommFrameCallBack_Icm
(
void
)
{
// uint8_t CardKind = 0;
// //EM_FUEL_STATE_T tmpSt = GetFuelModuleState();
// uint32_t tmpVal = Data_ODO_Read() / 10u;
// WMHCommDataIcm.bits.Mileage_H = 0x11;
// WMHCommDataIcm.bits.Mileage_M = 0x33;
// WMHCommDataIcm.bits.Mileage_L = 0x44;
// //if(WMHCommDataWiBox_0x92.bits.Inquire == 0x11)
// {
// if (tmpVal > 9999999) {
// tmpVal = 9999999;
// }
// // WMHCommDataIcm.bits.Mileage_H = (tmpVal >> 16) & 0xFF;
// // WMHCommDataIcm.bits.Mileage_M = (tmpVal >> 8) & 0xFF;
// // WMHCommDataIcm.bits.Mileage_L = (tmpVal) & 0xFF;
// WMHCommDataIcm.bits.Mileage_H = 0x11;
// WMHCommDataIcm.bits.Mileage_M = 0x33;
// WMHCommDataIcm.bits.Mileage_L = 0x44;
// }
// if(WMHCommDataWiBox_0x92.bits.Inquire == 0x22)
// {
// count = WMHCommDataWiBox_0x92.bits.Card_H / 16;
// if(NFC_CARD[count-1][1] == 0)
// {
// CardKind = 2;
// }
// else
// {
// CardKind = 1;
// }
// WMHCommDataIcm.bits.CardKind = CardKind;
// WMHCommDataIcm.bits.CardNum = count*16+count;
// WMHCommDataIcm.bits.CardID1 = NFC_CARD[count-1][2];
// WMHCommDataIcm.bits.CardID2 = NFC_CARD[count-1][3];
// WMHCommDataIcm.bits.CardID3 = NFC_CARD[count-1][4];
// WMHCommDataIcm.bits.CardID4 = NFC_CARD[count-1][5];
// WMHCommDataIcm.bits.CardTotal = Study_CardCount;
// }
// else
// {
// count = 0;
// WMHCommDataIcm.bits.CardKind = 0;
// WMHCommDataIcm.bits.CardNum = 0;
// WMHCommDataIcm.bits.CardID1 = 0;
// WMHCommDataIcm.bits.CardID2 = 0;
// WMHCommDataIcm.bits.CardID3 = 0;
// WMHCommDataIcm.bits.CardID4 = 0;
// WMHCommDataIcm.bits.CardTotal = 0;
// }
// if(WMHCommDataWiBox_0x92.bits.NfcOperate == 0x11)
// {
// WMHCommDataIcm.bits.AddCardStatus = Add_Card_Status;
// if(WMHCommDataIcm.bits.AddCardStatus == 2)
// {
// WMHCommDataIcm.bits.CardKind = NFC_CARD[NFC_Empty_card][1];
// WMHCommDataIcm.bits.CardNum = (NFC_Empty_card + 1)*17;
// WMHCommDataIcm.bits.CardID1 = NFC_CARD[NFC_Empty_card][2];
// WMHCommDataIcm.bits.CardID2 = NFC_CARD[NFC_Empty_card][3];
// WMHCommDataIcm.bits.CardID3 = NFC_CARD[NFC_Empty_card][4];
// WMHCommDataIcm.bits.CardID4 = NFC_CARD[NFC_Empty_card][5];
// WMHCommDataIcm.bits.CardTotal = Study_CardCount;
// }
// else if(WMHCommDataIcm.bits.AddCardStatus == 1)
// {
// WMHCommDataIcm.bits.CardKind = 0;
// WMHCommDataIcm.bits.CardNum = (NFC_Empty_card + 1)*17;
// WMHCommDataIcm.bits.CardID1 = 0;
// WMHCommDataIcm.bits.CardID2 = 0;
// WMHCommDataIcm.bits.CardID3 = 0;
// WMHCommDataIcm.bits.CardID4 = 0;
// WMHCommDataIcm.bits.CardTotal = Study_CardCount;
// }
// else
// {
// WMHCommDataIcm.bits.CardKind = 0;
// WMHCommDataIcm.bits.CardNum = 0;
// WMHCommDataIcm.bits.CardID1 = 0;
// WMHCommDataIcm.bits.CardID2 = 0;
// WMHCommDataIcm.bits.CardID3 = 0;
// WMHCommDataIcm.bits.CardID4 = 0;
// WMHCommDataIcm.bits.CardTotal = Study_CardCount;
// }
// WMHCommDataIcm.bits.RemoveCardStatus = 0;
// }
// else if(WMHCommDataWiBox_0x92.bits.NfcOperate == 0x22)
// {
// WMHCommDataIcm.bits.RemoveCardStatus = 2;
// WMHCommDataIcm.bits.AddCardStatus = 0;
// }
// else
// {
// WMHCommDataIcm.bits.AddCardStatus = 0xFF;
// WMHCommDataIcm.bits.RemoveCardStatus = 0xFF;
// }
// WMHCommDataIcm.bits.Reserved = 0xFF;
// WMHCommDataWiBox_0x90.bits.Espeed_L = 0xDD;
}
void
WMHCommFrameTimeoutFunc_Icm
(
void
)
{
//if((WMHCommDataWiBox_0x92.bits.Inquire != 0)||(WMHCommDataWiBox_0x92.bits.NfcOperate != 0 ))
{
//WMHCommFramePackedTransmit(EM_WMH_COMM_SEND_MSG_ICM_0x80);
}
}
YueJin_test_bench/source/Appliciation/WMHCommData.h
0 → 100644
View file @
54075b63
This diff is collapsed.
Click to expand it.
YueJin_test_bench/source/Appliciation/mwWMHComm.c
0 → 100644
View file @
54075b63
This diff is collapsed.
Click to expand it.
YueJin_test_bench/source/Appliciation/mwWMHComm.h
0 → 100644
View file @
54075b63
#ifndef __MW_WMH_COMM_H_
#define __MW_WMH_COMM_H_
#include "TYW_stdint.h"
#define NULL_P (void *)0
typedef
enum
{
EM_WMH_COMM_PIN_TX_IDX
=
0
,
//91,92
EM_WMH_COMM_PIN_TX_ID_0x90
,
//90
EM_WMH_COMM_PIN_RX_ID_wibox
,
EM_WMH_COMM_PIN_TOTAL
,
}
EM_WMH_COMM_PIN_T
;
// static const IO_NUM_ENUM mwWMHCommPin[EM_WMH_COMM_PIN_TOTAL] = {
// IO_NUM_MCU_ONE_LINE_COMM_TX,
// IO_NUM_MCU_ONE_LINE_COMM_RX,
// };
typedef
enum
{
EM_WMH_COMM_FRAME_STANDBAY
=
0
,
EM_WMH_COMM_FRAME_START
,
EM_WMH_COMM_FRAME_LOGIC_1
,
EM_WMH_COMM_FRAME_LOGIC_0
,
EM_WMH_COMM_FRAME_STOP
,
EM_WMH_COMM_FRAME_TOTAL
,
}
EM_WMH_COMM_FRAME_T
;
typedef
struct
{
uint32_t
LowLevelTime
;
// us
uint32_t
HighLevelTime
;
// us
}
MW_WMH_COMM_TIMER_T
;
typedef
struct
{
MW_WMH_COMM_TIMER_T
Standard
;
MW_WMH_COMM_TIMER_T
UpperLimit
;
MW_WMH_COMM_TIMER_T
LowerLimit
;
}
MW_WMH_COMM_SEQUENTIAL_T
;
extern
void
mwWMHCommInit
(
void
);
extern
void
mwWMHCommRecvIsr_0x90
(
uint32_t
tmpCnts
);
extern
void
mwWMHCommRecvIsr_wibox
(
uint32_t
tmpCnts
);
extern
void
mwWMHCommSendIsr
(
uint32_t
tmpCnts
);
extern
void
mwWMHCommSendIsr_90
(
uint32_t
tmpCnts
);
extern
void
mwWMHCommTransmitBytes
(
uint8_t
*
data
,
uint32_t
length
);
extern
void
mwWMHCommTransmitBytes_90
(
uint8_t
*
data
,
uint32_t
length
);
extern
uint8_t
*
mwWMHCommGetRecvData
(
uint32_t
*
BufferLen
,
uint32_t
*
RecvPos
);
extern
void
mwWMHCommRecvByte_0x90
(
uint8_t
data
);
extern
void
mwWMHCommRecvByte_wibox
(
uint8_t
data
);
#endif
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