From 4068362c9aa15ac842f587794551f8cd1db29a01 Mon Sep 17 00:00:00 2001 From: Jake Jurek Date: Sun, 8 Jun 2025 15:47:42 -0700 Subject: [PATCH 1/2] swapped millis to micros in message.go and ping.go --- gr25/service/message.go | 2 +- gr25/service/ping.go | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gr25/service/message.go b/gr25/service/message.go index 1a4b2a27..4f614581 100644 --- a/gr25/service/message.go +++ b/gr25/service/message.go @@ -86,7 +86,7 @@ func HandleMessage(vehicleID string, nodeID string, canID int, message []byte) { signal.Name = fmt.Sprintf("%s_%s", nodeID, signal.Name) signal.Timestamp = int(binary.BigEndian.Uint64(timestamp)) signal.VehicleID = vehicleID - signal.ProducedAt = time.UnixMilli(int64(signal.Timestamp)) + signal.ProducedAt = time.UnixMicro(int64(signal.Timestamp)) signal.CreatedAt = utils.WithPrecision(time.Now()) err := CreateSignal(signal) diff --git a/gr25/service/ping.go b/gr25/service/ping.go index 667a5afd..034f6e0e 100644 --- a/gr25/service/ping.go +++ b/gr25/service/ping.go @@ -26,7 +26,7 @@ func HandlePing(vehicleID string, nodeID string, payload []byte) { func SendPong(vehicleID string, nodeID string, ping int) { topic := fmt.Sprintf("gr25/%s/%s/pong", vehicleID, nodeID) - pong := int(time.Now().UnixMilli()) + pong := int(time.Now().UnixMicro()) latency := pong - ping payload := make([]byte, 16) @@ -34,7 +34,7 @@ func SendPong(vehicleID string, nodeID string, ping int) { binary.BigEndian.PutUint64(payload[8:], uint64(pong)) mqtt.Client.Publish(topic, 0, false, payload) - utils.SugarLogger.Infof("[PING] Received ping from gr25/%s/%s in %dms", vehicleID, nodeID, latency) + utils.SugarLogger.Infof("[PING] Received ping from gr25/%s/%s in %dμs", vehicleID, nodeID, latency) err := CreatePing(mapache.Ping{ VehicleID: vehicleID, @@ -47,9 +47,9 @@ func SendPong(vehicleID string, nodeID string, ping int) { } } -func GetPing(vehicleID string, millis int) mapache.Ping { +func GetPing(vehicleID string, micros int) mapache.Ping { var ping mapache.Ping - database.DB.Where("vehicle_id = ? AND ping = ?", vehicleID, millis).First(&ping) + database.DB.Where("vehicle_id = ? AND ping = ?", vehicleID, micros).First(&ping) return ping } From 93f30ddefe2e317d1a974fe7651c7899a7155672 Mon Sep 17 00:00:00 2001 From: Jake Jurek Date: Sun, 8 Jun 2025 16:00:45 -0700 Subject: [PATCH 2/2] changed ping type --- gr25/service/ping.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gr25/service/ping.go b/gr25/service/ping.go index 034f6e0e..37153419 100644 --- a/gr25/service/ping.go +++ b/gr25/service/ping.go @@ -14,7 +14,7 @@ import ( func HandlePing(vehicleID string, nodeID string, payload []byte) { utils.SugarLogger.Infof("[MQ] Received ping from gr25/%s/%s", vehicleID, nodeID) - ping := int(binary.BigEndian.Uint64(payload[:8])) + ping := binary.BigEndian.Uint64(payload[:8]) uploadKey := binary.BigEndian.Uint16(payload[8:10]) // TODO: Check upload key if uploadKey == 0 { @@ -24,23 +24,23 @@ func HandlePing(vehicleID string, nodeID string, payload []byte) { go SendPong(vehicleID, nodeID, ping) } -func SendPong(vehicleID string, nodeID string, ping int) { +func SendPong(vehicleID string, nodeID string, ping uint64) { topic := fmt.Sprintf("gr25/%s/%s/pong", vehicleID, nodeID) - pong := int(time.Now().UnixMicro()) + pong := uint64(time.Now().UnixMicro()) latency := pong - ping payload := make([]byte, 16) - binary.BigEndian.PutUint64(payload, uint64(ping)) - binary.BigEndian.PutUint64(payload[8:], uint64(pong)) + binary.BigEndian.PutUint64(payload, ping) + binary.BigEndian.PutUint64(payload[8:], pong) mqtt.Client.Publish(topic, 0, false, payload) utils.SugarLogger.Infof("[PING] Received ping from gr25/%s/%s in %dμs", vehicleID, nodeID, latency) err := CreatePing(mapache.Ping{ VehicleID: vehicleID, - Ping: ping, - Pong: pong, - Latency: latency, + Ping: int(ping), + Pong: int(pong), + Latency: int(latency), }) if err != nil { utils.SugarLogger.Infof("Error creating ping: %s", err)