168 lines
4.7 KiB
Java
168 lines
4.7 KiB
Java
package com.espressif.iot.esptouch.task;
|
|
|
|
import com.espressif.iot.esptouch.EsptouchTask;
|
|
|
|
public class EsptouchTaskParameter implements IEsptouchTaskParameter {
|
|
|
|
private static int _datagramCount = 0;
|
|
private long mIntervalGuideCodeMillisecond;
|
|
private long mIntervalDataCodeMillisecond;
|
|
private long mTimeoutGuideCodeMillisecond;
|
|
private long mTimeoutDataCodeMillisecond;
|
|
private int mTotalRepeatTime;
|
|
private int mEsptouchResultOneLen;
|
|
private int mEsptouchResultMacLen;
|
|
private int mEsptouchResultIpLen;
|
|
private int mEsptouchResultTotalLen;
|
|
private int mPortListening;
|
|
private int mTargetPort;
|
|
private int mWaitUdpReceivingMilliseond;
|
|
private int mWaitUdpSendingMillisecond;
|
|
private int mThresholdSucBroadcastCount;
|
|
private int mExpectTaskResultCount;
|
|
private boolean mBroadcast = true;
|
|
|
|
public EsptouchTaskParameter() {
|
|
mIntervalGuideCodeMillisecond = 8;
|
|
mIntervalDataCodeMillisecond = 8;
|
|
mTimeoutGuideCodeMillisecond = 2000;
|
|
mTimeoutDataCodeMillisecond = 4000;
|
|
mTotalRepeatTime = 1;
|
|
mEsptouchResultOneLen = 1;
|
|
mEsptouchResultMacLen = 6;
|
|
mEsptouchResultIpLen = 4;
|
|
mEsptouchResultTotalLen = 1 + 6 + 4;
|
|
mPortListening = 18266;
|
|
mTargetPort = 7001;
|
|
mWaitUdpReceivingMilliseond = 15000;
|
|
mWaitUdpSendingMillisecond = 45000;
|
|
mThresholdSucBroadcastCount = 1;
|
|
mExpectTaskResultCount = 1;
|
|
}
|
|
|
|
// the range of the result should be 1-100
|
|
private static int __getNextDatagramCount() {
|
|
return 1 + (_datagramCount++) % 100;
|
|
}
|
|
|
|
@Override
|
|
public long getIntervalGuideCodeMillisecond() {
|
|
return mIntervalGuideCodeMillisecond;
|
|
}
|
|
|
|
@Override
|
|
public long getIntervalDataCodeMillisecond() {
|
|
return mIntervalDataCodeMillisecond;
|
|
}
|
|
|
|
@Override
|
|
public long getTimeoutGuideCodeMillisecond() {
|
|
return mTimeoutGuideCodeMillisecond;
|
|
}
|
|
|
|
@Override
|
|
public long getTimeoutDataCodeMillisecond() {
|
|
return mTimeoutDataCodeMillisecond;
|
|
}
|
|
|
|
@Override
|
|
public long getTimeoutTotalCodeMillisecond() {
|
|
return mTimeoutGuideCodeMillisecond + mTimeoutDataCodeMillisecond;
|
|
}
|
|
|
|
@Override
|
|
public int getTotalRepeatTime() {
|
|
return mTotalRepeatTime;
|
|
}
|
|
|
|
@Override
|
|
public int getEsptouchResultOneLen() {
|
|
return mEsptouchResultOneLen;
|
|
}
|
|
|
|
@Override
|
|
public int getEsptouchResultMacLen() {
|
|
return mEsptouchResultMacLen;
|
|
}
|
|
|
|
@Override
|
|
public int getEsptouchResultIpLen() {
|
|
return mEsptouchResultIpLen;
|
|
}
|
|
|
|
@Override
|
|
public int getEsptouchResultTotalLen() {
|
|
return mEsptouchResultTotalLen;
|
|
}
|
|
|
|
@Override
|
|
public int getPortListening() {
|
|
return mPortListening;
|
|
}
|
|
|
|
// target hostname is : 234.1.1.1, 234.2.2.2, 234.3.3.3 to 234.100.100.100
|
|
@Override
|
|
public String getTargetHostname() {
|
|
if (mBroadcast) {
|
|
return "255.255.255.255";
|
|
} else {
|
|
int count = __getNextDatagramCount();
|
|
return "234." + count + "." + count + "." + count;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public int getTargetPort() {
|
|
return mTargetPort;
|
|
}
|
|
|
|
@Override
|
|
public int getWaitUdpReceivingMillisecond() {
|
|
return mWaitUdpReceivingMilliseond;
|
|
}
|
|
|
|
@Override
|
|
public int getWaitUdpSendingMillisecond() {
|
|
return mWaitUdpSendingMillisecond;
|
|
}
|
|
|
|
@Override
|
|
public int getWaitUdpTotalMillisecond() {
|
|
return mWaitUdpReceivingMilliseond + mWaitUdpSendingMillisecond;
|
|
}
|
|
|
|
@Override
|
|
public void setWaitUdpTotalMillisecond(int waitUdpTotalMillisecond) {
|
|
if (waitUdpTotalMillisecond < mWaitUdpReceivingMilliseond
|
|
+ getTimeoutTotalCodeMillisecond()) {
|
|
// if it happen, even one turn about sending udp broadcast can't be
|
|
// completed
|
|
throw new IllegalArgumentException(
|
|
"waitUdpTotalMillisecod is invalid, "
|
|
+ "it is less than mWaitUdpReceivingMilliseond + getTimeoutTotalCodeMillisecond()");
|
|
}
|
|
mWaitUdpSendingMillisecond = waitUdpTotalMillisecond
|
|
- mWaitUdpReceivingMilliseond;
|
|
}
|
|
|
|
@Override
|
|
public int getThresholdSucBroadcastCount() {
|
|
return mThresholdSucBroadcastCount;
|
|
}
|
|
|
|
@Override
|
|
public int getExpectTaskResultCount() {
|
|
return this.mExpectTaskResultCount;
|
|
}
|
|
|
|
@Override
|
|
public void setExpectTaskResultCount(int expectTaskResultCount) {
|
|
this.mExpectTaskResultCount = expectTaskResultCount;
|
|
}
|
|
|
|
@Override
|
|
public void setBroadcast(boolean broadcast) {
|
|
mBroadcast = broadcast;
|
|
}
|
|
}
|