balise detect
This commit is contained in:
parent
f3f1f07fd0
commit
7c687972b4
6
third_party/can_btm/balise_btm.go
vendored
6
third_party/can_btm/balise_btm.go
vendored
@ -37,6 +37,9 @@ type btmCanetClient struct {
|
|||||||
remoteIp string
|
remoteIp string
|
||||||
//最近一次车载ATP系统查询帧序号
|
//最近一次车载ATP系统查询帧序号
|
||||||
atpReqSn byte
|
atpReqSn byte
|
||||||
|
//btm最近一次接收到atp查询请求的时间
|
||||||
|
//当BTM超过150ms即3个周期没有收到atq下发的查询帧,则清空报文缓冲区
|
||||||
|
atpReqTime *time.Time
|
||||||
//最近一次车载ATP系统查询帧CRC16校验结果,true-校验通过
|
//最近一次车载ATP系统查询帧CRC16校验结果,true-校验通过
|
||||||
atpReqCrc16Check bool
|
atpReqCrc16Check bool
|
||||||
//btm系统时间,每次接收到ATP查询请求帧时同步一次时间
|
//btm系统时间,每次接收到ATP查询请求帧时同步一次时间
|
||||||
@ -160,6 +163,7 @@ func (s *btmCanetClient) handleCanetFrames(cfs []byte) {
|
|||||||
|
|
||||||
// 处理接收的ATP查询请求帧
|
// 处理接收的ATP查询请求帧
|
||||||
func (s *btmCanetClient) dealWithAptReq(f *message.CanetFrame) {
|
func (s *btmCanetClient) dealWithAptReq(f *message.CanetFrame) {
|
||||||
|
now := time.Now()
|
||||||
atpReq := &message.AtpRequestFrame{}
|
atpReq := &message.AtpRequestFrame{}
|
||||||
if !atpReq.Decode(f) {
|
if !atpReq.Decode(f) {
|
||||||
slog.Warn("CanetFrame解码成AtpRequestFrame失败", "CanetFrame", f.String())
|
slog.Warn("CanetFrame解码成AtpRequestFrame失败", "CanetFrame", f.String())
|
||||||
@ -179,6 +183,8 @@ func (s *btmCanetClient) dealWithAptReq(f *message.CanetFrame) {
|
|||||||
//ATP 是否要求BTM 重发上一应答器报文
|
//ATP 是否要求BTM 重发上一应答器报文
|
||||||
isResendRequest := atpReq.ResendRequest == 2 //0b10
|
isResendRequest := atpReq.ResendRequest == 2 //0b10
|
||||||
s.rspToAtp(isResendRequest)
|
s.rspToAtp(isResendRequest)
|
||||||
|
//记录atp查询时间
|
||||||
|
s.atpReqTime = &now
|
||||||
}
|
}
|
||||||
|
|
||||||
// BTM发送响应给ATP
|
// BTM发送响应给ATP
|
||||||
|
Loading…
Reference in New Issue
Block a user