Browse Source

Wait for 250ms before sending again

master
Tim Zeuner 1 year ago
parent
commit
e9114fdfe5

+ 22
- 9
MobileApp/app/src/main/java/com/example/lfrmobileapp/ui/home/HomeFragment.java View File

@@ -38,6 +38,8 @@ public class HomeFragment extends Fragment {
MainActivity mainActivity;

Communication com = new Communication();
long lastOnMoveCall = System.currentTimeMillis();


private FragmentManuellBinding binding;

@@ -105,36 +107,47 @@ public class HomeFragment extends Fragment {
joystick.setOnMoveListener(new JoystickView.OnMoveListener() {
@Override
public void onMove(int angle, int strength) {
boolean send = false;
if (System.currentTimeMillis() - lastOnMoveCall > 250){
send = true;
lastOnMoveCall = System.currentTimeMillis();
}
String telegram = "";

homeViewModel.setText(Integer.toString(angle), Integer.toString(strength));
//8 segments of the joystick
if((angle >= 338 || angle < 22) && strength != 0){
joystick.setBackgroundResource(R.mipmap.right);
mainActivity.sendTelegram(com.telegram(new int[]{1, -1, -1, 1}, strength));
telegram = com.telegram(new int[]{1, -1, -1, 1}, strength);
}else if((angle >= 22 && angle < 67) && strength != 0){
joystick.setBackgroundResource(R.mipmap.right_forward);
mainActivity.sendTelegram(com.telegram(new int[]{1, 0, 0, 1}, strength));
telegram = com.telegram(new int[]{1, 0, 0, 1}, strength);
}else if((angle >=67 && angle < 112) && strength != 0){
joystick.setBackgroundResource(R.mipmap.forward);
mainActivity.sendTelegram(com.telegram(new int[]{1, 1, 1, 1}, strength));
telegram = com.telegram(new int[]{1, 1, 1, 1}, strength);
}else if((angle >=112 && angle < 157) && strength != 0){
joystick.setBackgroundResource(R.mipmap.left_forward);
mainActivity.sendTelegram(com.telegram(new int[]{0, 1, 1, 0}, strength));
telegram = com.telegram(new int[]{0, 1, 1, 0}, strength);
}else if((angle >=157 && angle < 202) && strength != 0){
joystick.setBackgroundResource(R.mipmap.left);
mainActivity.sendTelegram(com.telegram(new int[]{-1, 1, 1, -1}, strength));
telegram = com.telegram(new int[]{-1, 1, 1, -1}, strength);
}else if((angle >=202 && angle < 247) && strength != 0){
joystick.setBackgroundResource(R.mipmap.left_back);
mainActivity.sendTelegram(com.telegram(new int[]{-1, 0, 0, -1}, strength));
telegram = com.telegram(new int[]{-1, 0, 0, -1}, strength);
}else if((angle >=247 && angle < 292) && strength != 0){
joystick.setBackgroundResource(R.mipmap.back);
mainActivity.sendTelegram(com.telegram(new int[]{-1, -1, -1, -1}, strength));
telegram = com.telegram(new int[]{-1, -1, -1, -1}, strength);
}else if((angle >=292 && angle < 337) && strength != 0){
joystick.setBackgroundResource(R.mipmap.right_back);
mainActivity.sendTelegram(com.telegram(new int[]{0, -1, -1, 0}, strength));
telegram = com.telegram(new int[]{0, -1, -1, 0}, strength);
}
else{
joystick.setBackgroundResource(R.mipmap.blank);
mainActivity.sendTelegram(com.telegram(new int[]{0, 0, 0, 0}, strength));
telegram = com.telegram(new int[]{0, 0, 0, 0}, strength);
}
if (send)
{
mainActivity.sendTelegram(telegram);
}
}
});

Loading…
Cancel
Save