package serial import ( "encoding/hex" "strings" ) func ByteToHexString(value byte) string { return hex.EncodeToString([]byte{value}) } func BytesToUint16(value []byte) uint16 { return uint16(value[0])<<8 | uint16(value[1]) } func BytesToUint32(value []byte) uint32 { return uint32(value[0])<<24 | uint32(value[1])<<16 | uint32(value[2])<<8 | uint32(value[3]) } func BytesToInt64(value []byte) int64 { return int64(value[0])<<56 | int64(value[1])<<48 | int64(value[2])<<40 | int64(value[3])<<32 | int64(value[4])<<24 | int64(value[5])<<16 | int64(value[6])<<8 | int64(value[7]) } func BytesToHexString(value []byte) string { strs := make([]string, len(value)) for i, b := range value { strs[i] = hex.EncodeToString([]byte{b}) } return "[" + strings.Join(strs, ",") + "]" }