76 lines
2.5 KiB
Java
76 lines
2.5 KiB
Java
package com.ubt.jimu.connect.model;
|
|
|
|
import com.ubt.jimu.base.cache.Cache;
|
|
import com.ubt.jimu.base.data.ServoMode;
|
|
import com.ubt.jimu.base.entities.User;
|
|
import com.ubtech.utils.XLog;
|
|
import com.ubtrobot.jimu.robotapi.JimuManager;
|
|
import com.ubtrobot.jimu.robotapi.ServoAngleReadInfo;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class ReadAllServoModel {
|
|
private JimuManager a;
|
|
|
|
public ReadAllServoModel(JimuManager jimuManager) {
|
|
this.a = jimuManager;
|
|
}
|
|
|
|
public List<ServoAngleReadInfo> a(String str, boolean z) {
|
|
ServoAngleReadInfo servoAngleReadInfo;
|
|
PeripheralConnections a = PeripheralConnections.a(str, a(), z);
|
|
if (a == null) {
|
|
return null;
|
|
}
|
|
ArrayList arrayList = new ArrayList();
|
|
for (Map.Entry<Integer, ServoMode> entry : a.c().entrySet()) {
|
|
if (entry != null && entry.getValue() == ServoMode.SERVO_MODE_ANGLE) {
|
|
try {
|
|
servoAngleReadInfo = this.a.b(entry.getKey().intValue(), true);
|
|
} catch (Exception e) {
|
|
XLog.a("ReadAllServoModel", "Read servo " + entry.getKey() + " angle fail!", e);
|
|
servoAngleReadInfo = null;
|
|
}
|
|
if (servoAngleReadInfo != null) {
|
|
if (servoAngleReadInfo.a() < 2.0f) {
|
|
servoAngleReadInfo.b(5.0f);
|
|
arrayList.add(servoAngleReadInfo);
|
|
} else if (servoAngleReadInfo.a() > 238.0f) {
|
|
servoAngleReadInfo.b(235.0f);
|
|
arrayList.add(servoAngleReadInfo);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return arrayList;
|
|
}
|
|
|
|
public void a(List<ServoAngleReadInfo> list) {
|
|
if (list == null || list.size() == 0) {
|
|
return;
|
|
}
|
|
int[] iArr = new int[list.size()];
|
|
float[] fArr = new float[list.size()];
|
|
for (int i = 0; i < list.size(); i++) {
|
|
ServoAngleReadInfo servoAngleReadInfo = list.get(i);
|
|
iArr[i] = servoAngleReadInfo.b();
|
|
fArr[i] = servoAngleReadInfo.c();
|
|
}
|
|
try {
|
|
this.a.a(iArr, fArr, 400, 100);
|
|
} catch (Exception e) {
|
|
XLog.a("ReadAllServoModel", "setServoAngle fail", e);
|
|
}
|
|
}
|
|
|
|
private String a() {
|
|
User user = Cache.getInstance().getUser();
|
|
if (user == null) {
|
|
return "local";
|
|
}
|
|
return user.getUserId() + "";
|
|
}
|
|
}
|