package com.sandu.ximon.admin.manager.iot.frame.inner.request;
|
|
import com.sandu.ximon.admin.manager.iot.frame.inner.IRequestInnerFrame;
|
import com.sandu.ximon.admin.manager.iot.rrpc.enums.A5LightDataEnum;
|
import com.sandu.ximon.admin.manager.iot.rrpc.enums.A7PlcDataEnum;
|
import com.sandu.ximon.admin.manager.iot.rrpc.enums.MQTTConnectTypeEnum;
|
import com.sandu.ximon.admin.manager.iot.rrpc.util.CRC32Utils;
|
|
/**
|
* PLC设置日历
|
* @author van
|
*/
|
public class A7PlcSetCalendarReqInnerFrame implements IRequestInnerFrame {
|
private final String payload;
|
|
public A7PlcSetCalendarReqInnerFrame(String lightAddress, int year, int month, int day, int hour, int min, int sec) {
|
|
payload = lightAddress + hex10To16(year) + hex10To16(month) + hex10To16(day) + hex10To16(hour) + hex10To16(min) + hex10To16(sec);
|
}
|
|
@Override
|
public String getEncodeFrame() {
|
String functionCode = A7PlcDataEnum.SetCalendar.getCode();
|
String payloadLength = "0008";
|
String frame = functionCode + payloadLength + payload;
|
return MQTTConnectTypeEnum.SYNCHRONIZATION.getCode() + frame.toUpperCase() + CRC32Utils.getCRC32(frame.toUpperCase());
|
// return MQTTConnectTypeEnum.SYNCHRONIZATION.getCode() + frame.toUpperCase() + CRC32Utils.getCRC32(payload.toUpperCase());
|
}
|
|
private String hex10To16(int value) {
|
return String.format("%02X", value);
|
}
|
}
|