2024-09-05 09:21:49 +08:00
|
|
|
package semi_physical_train
|
2024-05-29 11:48:04 +08:00
|
|
|
|
|
|
|
import (
|
|
|
|
"bytes"
|
|
|
|
"encoding/hex"
|
2024-06-06 17:57:30 +08:00
|
|
|
"encoding/json"
|
2024-05-29 11:48:04 +08:00
|
|
|
"fmt"
|
2024-06-13 18:13:21 +08:00
|
|
|
"github.com/snksoft/crc"
|
2024-06-06 17:57:30 +08:00
|
|
|
"joylink.club/bj-rtsts-server/third_party/message"
|
2024-06-12 17:45:47 +08:00
|
|
|
"joylink.club/bj-rtsts-server/third_party/udp"
|
2024-05-29 11:48:04 +08:00
|
|
|
"sync/atomic"
|
|
|
|
"testing"
|
2024-06-12 17:45:47 +08:00
|
|
|
"time"
|
2024-05-29 11:48:04 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
const (
|
|
|
|
code1 = "fffef890149e75e15511000006230000000000d4da14ebfffd"
|
|
|
|
code2 = "fffee601804f004d00800600002a004984ec6f4e902ef6912284000000000000000000000000000000067e000000000000411b0000f5bbee397698fffd"
|
|
|
|
)
|
|
|
|
|
2024-06-13 18:13:21 +08:00
|
|
|
func TestMsg22(t *testing.T) {
|
|
|
|
msg := &message.TrainPcSimBaseMessage{}
|
2024-06-27 10:37:52 +08:00
|
|
|
msg.Type = message.RECIVE_TRAIN_CREATE_REMOVE
|
2024-06-18 17:10:21 +08:00
|
|
|
data := []byte{1}
|
2024-06-13 18:13:21 +08:00
|
|
|
msg.Data = data
|
|
|
|
code := msg.Encode()
|
|
|
|
hexCode := hex.EncodeToString(code)
|
|
|
|
fmt.Println(hexCode)
|
|
|
|
fmt.Println(crc.CalculateCRC(crc.CRC16, []byte{0}))
|
|
|
|
}
|
|
|
|
|
2024-05-29 11:48:04 +08:00
|
|
|
var message_id atomic.Uint32
|
|
|
|
|
2024-06-12 17:45:47 +08:00
|
|
|
func TestConn(t *testing.T) {
|
|
|
|
source := ":fffee601804f004d00c1b401002a00e7ae839c4b59b2bf912275000000000000000000000000000001b4bf00000000000000000000dc4902d6e431fffd"
|
|
|
|
d, _ := hex.DecodeString(source)
|
|
|
|
udpClient := udp.NewClient(fmt.Sprintf("%v:%d", "127.0.0.1", 49491))
|
|
|
|
err := udpClient.Send(d)
|
|
|
|
if err != nil {
|
|
|
|
fmt.Println(err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
time.Sleep(time.Second * 2)
|
|
|
|
udpClient.Close()
|
|
|
|
}
|
2024-05-29 11:48:04 +08:00
|
|
|
func TestDecode(t *testing.T) {
|
|
|
|
fmt.Println(code1[:4])
|
|
|
|
d, _ := hex.DecodeString(code1)
|
|
|
|
fmt.Println(d[:2])
|
|
|
|
dd := d[2 : len(d)-2]
|
|
|
|
fmt.Println(hex.EncodeToString(dd))
|
|
|
|
fmt.Println(bytes.Equal(d[:2], []byte{0xff, 0xfe}))
|
|
|
|
fmt.Println(message_id.Load())
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestMsg(t *testing.T) {
|
2024-06-18 17:10:21 +08:00
|
|
|
now := time.Now().UTC()
|
|
|
|
sec := now.Unix()
|
|
|
|
fmt.Println(sec)
|
|
|
|
fmt.Println(now.UnixMilli())
|
|
|
|
fmt.Println(now.UnixMilli() - sec*1000)
|
2024-05-29 11:48:04 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
func TestBytes(t *testing.T) {
|
2024-06-06 17:57:30 +08:00
|
|
|
dd := make([]byte, 0)
|
|
|
|
dd = append(dd, 0)
|
|
|
|
dd = append(dd, 1)
|
|
|
|
dd = append(dd, 2)
|
|
|
|
dd = append(dd, 3)
|
|
|
|
dd = append(dd, 4)
|
|
|
|
fmt.Println(dd[1:])
|
|
|
|
}
|
|
|
|
func TestArr(t *testing.T) {
|
|
|
|
data := make([]byte, 0)
|
|
|
|
data = append(data, 1)
|
|
|
|
dd := &message.BtmVobcMsgFree{BtmStatus: message.BTM_STSTUS_NORMAL, WorkTemperature: 10, Fun1: uint16(0), Fun2: uint16(0), Fun3: uint16(0), Fun4: uint16(0),
|
|
|
|
FreeMsg: data, RespTime: byte(3), VobcLifeNum: 2, BaseBtmVobc: message.BaseBtmVobc{AutoIdFrame: 1}}
|
|
|
|
s, _ := json.Marshal(dd)
|
|
|
|
fmt.Println(string(s))
|
|
|
|
dd2 := &message.BtmVobcMsgFree{}
|
|
|
|
json.Unmarshal(s, dd2)
|
|
|
|
fmt.Println(dd2)
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestRes(t *testing.T) {
|
|
|
|
ss := "fffee601804f004d00e40321002a004fd6c86f3c2bcde891220700000000000000000000000000002103e20000000000000000000052bed1a5e9edfffd"
|
|
|
|
ss = "fffee601804f004d006a1521002a00f3329169ec2f9c9991229e000000000000000000000000000021156800000000000000000000bff47aff004e24fffd"
|
|
|
|
ss = "fffee601804f004d00cd1921002a005ea577ff00db4b628891220600000000000000000000000000002119cb0000000000000000000077ba3334d06ffffd"
|
|
|
|
ss = "fffee601804f004d006c1d21002a00e2c732ff00f86276339122a80000000000000000000000000000211d6a0000000000000000000049c46daebcf6fffd"
|
|
|
|
ss = "fffee601804f004d00871d21002a00ee97d0fb1c4b2a849122c30000000000000000000000000000211d8500000000000000000000c4e2343e4117fffd"
|
|
|
|
ss = "fffee601804f004d00444a1c002a00473bbfa11d4b3b029122a800000000000000000000000000001c4a42000000000000000000008970492fff00d0fffd"
|
2024-06-18 17:10:21 +08:00
|
|
|
ss = "fffe9287d4000570006464000a000000000000000000000490007f8181b60b10183280003fff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff01ff000a00221eede6c80a6efffd"
|
2024-06-06 17:57:30 +08:00
|
|
|
cfs, _ := hex.DecodeString(ss)
|
|
|
|
frameType, dataText, _ := message.BtmVobcDecode(cfs)
|
|
|
|
if frameType == message.COMMAND_TYPE {
|
|
|
|
fmt.Println("1111111111111111")
|
|
|
|
} else if frameType == message.REQUEST_TYPE {
|
|
|
|
|
|
|
|
req := &message.BtmVobcReq{}
|
|
|
|
req.Decode(dataText)
|
|
|
|
fmt.Println("22222222222222222222")
|
|
|
|
} else {
|
|
|
|
fmt.Println("zzzzzzzzzzzzzzzzzzzzz")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestRes3(t *testing.T) {
|
|
|
|
ss := "fffef890141175e15511001c4a3b0000000000fd5956a5fffd"
|
|
|
|
arr, _ := hex.DecodeString(ss)
|
|
|
|
_, dataText, err := message.BtmVobcDecode(arr)
|
|
|
|
if err != nil {
|
|
|
|
fmt.Println(err.Error())
|
|
|
|
}
|
|
|
|
|
|
|
|
req := &message.BtmVobcIdCommand{}
|
|
|
|
req.Decode(dataText)
|
2024-05-29 11:48:04 +08:00
|
|
|
}
|