update 电单车协议

This commit is contained in:
Guoqs
2024-09-03 11:54:30 +08:00
parent f729431d7d
commit e668f6c4ab
3 changed files with 19 additions and 16 deletions

View File

@@ -1,7 +1,6 @@
package com.jsowell.common;
import com.jsowell.common.util.BytesUtil;
import com.jsowell.common.util.YKCUtils;
import lombok.extern.slf4j.Slf4j;
import java.util.Arrays;
@@ -119,18 +118,22 @@ public class YouDianUtils {
return bytes;
}
public static void main(String[] args) {
byte[] result1 = convertPortNumberToBytes(1); // 输出: [0, 0]
byte[] result2 = convertPortNumberToBytes(2); // 输出: [0, 1]
byte[] result10 = convertPortNumberToBytes(10); // 输出: [0, 9]
byte[] result11 = convertPortNumberToBytes(11); // 输出: [0, 10]
byte[] result16 = convertPortNumberToBytes(16); // 输出: [0, 15]
/**
* 端口号转换
* 指充电桩的插口号端口号从0开始如0x00-0x0F则代表第1路-第16路0x00=第1路0x09=第十路0x0A=第十一路FF=设备智能选择端口(服务器下发);
* @param port
* @return
*/
public static byte[] convertPortNumberToBytes(String port) {
int portNumber = Integer.parseInt(port);
if (portNumber < 1 || portNumber > 16) {
throw new IllegalArgumentException("Port number must be between 1 and 16.");
}
// 打印结果
System.out.println(YKCUtils.frameType2Str(result1));
System.out.println(YKCUtils.frameType2Str(result2));
System.out.println(YKCUtils.frameType2Str(result10));
System.out.println(YKCUtils.frameType2Str(result11));
System.out.println(YKCUtils.frameType2Str(result16));
// 端口号从1开始因此需要减去1
int hexValue = portNumber - 1;
// 转换为字节数组
return BytesUtil.intToBytesLittle(hexValue, 1);
}
}