BowlerKernel
IHardwareSyncPulseProvider.java
Go to the documentation of this file.
1 package com.neuronrobotics.sdk.addons.kinematics;
2 
3 import java.util.ArrayList;
4 import java.util.HashMap;
5 
6 public interface IHardwareSyncPulseProvider {
7  HashMap<IHardwareSyncPulseProvider,ArrayList<IHardwareSyncPulseReciver>>syncPulse=new HashMap<>();
8 
9 
11  if (getListeners().contains(r) || r==this)
12  return;
13  getListeners().add(r);
14  }
15 
17  if (getListeners().contains(r))
18  getListeners().remove(r);
19  }
20 
21  default public void doSync() {
23  if(r!=this)
24  r.sync();
25  }
26  }
27 
28  default public ArrayList<IHardwareSyncPulseReciver> getListeners(){
29  if(syncPulse.get(this)==null)
30  syncPulse.put(this, new ArrayList<>());
31  return syncPulse.get(this);
32  }
33 }
HashMap< IHardwareSyncPulseProvider, ArrayList< IHardwareSyncPulseReciver > > syncPulse