Migrate to PShell 2.0
This commit is contained in:
@@ -1,58 +1,58 @@
|
||||
package ch.psi.mxsc;
|
||||
|
||||
import static ch.psi.mxsc.Controller.NUMBER_OF_PUCKS;
|
||||
import ch.psi.pshell.device.Device;
|
||||
import ch.psi.pshell.device.DeviceAdapter;
|
||||
import ch.psi.utils.State;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public class EseraDetection implements AutoCloseable{
|
||||
final Device device;
|
||||
|
||||
public EseraDetection(Device device){
|
||||
this.device = device;
|
||||
if (device!=null){
|
||||
device.addListener(listener);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
DeviceAdapter listener = new DeviceAdapter(){
|
||||
@Override
|
||||
public void onStateChanged(Device device, State state, State former) {
|
||||
if (!state.isInitialized()){
|
||||
Controller.getInstance().clearPuckStates();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onValueChanged(Device device, Object value, Object former) {
|
||||
if ((value == null) || !(value instanceof List)){
|
||||
Controller.getInstance().clearPuckStates();
|
||||
} else {
|
||||
List l = (List)value;
|
||||
PuckState[] puckState = Controller.getInstance().getPuckStates();
|
||||
for (int i=0; i<NUMBER_OF_PUCKS; i++ ){
|
||||
try{
|
||||
List det = (List) l.get(i);
|
||||
puckState[i].set((det.get(0).equals(0)) ? 1 : 0, (det.get(1).equals(0)) ? 1 : 0);
|
||||
} catch (Exception ex){
|
||||
puckState[i].clear();
|
||||
}
|
||||
}
|
||||
Controller.getInstance().updateView();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
if (device!=null){
|
||||
device.removeListener(listener);
|
||||
}
|
||||
Controller.getInstance().clearPuckStates();
|
||||
}
|
||||
}
|
||||
package ch.psi.mxsc;
|
||||
|
||||
import static ch.psi.mxsc.Controller.NUMBER_OF_PUCKS;
|
||||
import ch.psi.pshell.device.Device;
|
||||
import ch.psi.pshell.device.DeviceListener;
|
||||
import ch.psi.pshell.utils.State;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public class EseraDetection implements AutoCloseable{
|
||||
final Device device;
|
||||
|
||||
public EseraDetection(Device device){
|
||||
this.device = device;
|
||||
if (device!=null){
|
||||
device.addListener(listener);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
DeviceListener listener = new DeviceListener(){
|
||||
@Override
|
||||
public void onStateChanged(Device device, State state, State former) {
|
||||
if (!state.isInitialized()){
|
||||
Controller.getInstance().clearPuckStates();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onValueChanged(Device device, Object value, Object former) {
|
||||
if ((value == null) || !(value instanceof List)){
|
||||
Controller.getInstance().clearPuckStates();
|
||||
} else {
|
||||
List l = (List)value;
|
||||
PuckState[] puckState = Controller.getInstance().getPuckStates();
|
||||
for (int i=0; i<NUMBER_OF_PUCKS; i++ ){
|
||||
try{
|
||||
List det = (List) l.get(i);
|
||||
puckState[i].set((det.get(0).equals(0)) ? 1 : 0, (det.get(1).equals(0)) ? 1 : 0);
|
||||
} catch (Exception ex){
|
||||
puckState[i].clear();
|
||||
}
|
||||
}
|
||||
Controller.getInstance().updateView();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
if (device!=null){
|
||||
device.removeListener(listener);
|
||||
}
|
||||
Controller.getInstance().clearPuckStates();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user