This commit is contained in:
xzb 2023-11-23 18:14:01 +08:00
parent be1e0d59d2
commit 1784f3a66b
2 changed files with 28 additions and 0 deletions

View File

@ -125,6 +125,32 @@ func (s *btmCanetClient) dealWithAptReq(f *message.CanetFrame) {
} }
} }
// BTM发送响应给ATP
// 当收到应答器报文时响应:时间同步帧、状态应答帧、数据帧
// 当未收到应答器报文时响应:时间同步帧、状态应答帧
func (s *btmCanetClient) rspToAtp() {
timeSyncF := message.NewBtmTimeSyncCheckFrame(s.atpReqSn)
timeSyncCf := timeSyncF.Encode().Encode()
statusF := message.NewBtmStatusRspFrame(s.atpReqSn)
//true-收到应答器报文
//todo
isRcvTelegram := false
if isRcvTelegram { //当收到应答器报文时响应:时间同步帧、状态应答帧、数据帧
s.sendCanetFrame(timeSyncCf)
} else { //当未收到应答器报文时响应:时间同步帧、状态应答帧
statusCf := statusF.Encode().Encode()
s.sendCanetFrame(timeSyncCf)
s.sendCanetFrame(statusCf)
}
}
// 发送Canet帧一帧13字节
func (s *btmCanetClient) sendCanetFrame(cf []byte) {
s.udpClient.Send(cf)
}
////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////
// 处理接收的状态应答帧 // 处理接收的状态应答帧

View File

@ -2,6 +2,8 @@ package message
import "log/slog" import "log/slog"
//BTM与ATP之间为双向通信ATP定时发送请求帧BTM在未接收到应答器报文时回复状态应答器帧和时间同步帧在接收到应答器报文时回复所有帧
// CreateBtmRspFramesData 数据帧与状态应答帧同时发送给ATP // CreateBtmRspFramesData 数据帧与状态应答帧同时发送给ATP
// 共17帧17X12个字节每个帧12字节 // 共17帧17X12个字节每个帧12字节
// msg - 应答器报文 // msg - 应答器报文