package uk.co.mmscomputing.device.capi.facility; import uk.co.mmscomputing.device.capi.*; // Eicon SDK: eicon/sdk/Doc/CxEcho.pdf public class EchoCancellerInd extends FacilityInd{ protected int function; public EchoCancellerInd(Rider r){ super(r); function=r.readWord(); // function r.structBegin(); // function-specific parameter } static public MsgIn create(Rider r){ int function=r.readWord(); // function r.structBegin(); // function-specific parameter switch(function){ case 1: return new BypassInd(r); } return new EchoCancellerInd(r); } public int getFunctionNo(){ return function;} public String toString(){ String s=super.toString(); s+="function : "+function+"\n\t"; return s; } static public class BypassInd extends EchoCancellerConf{ private int bypassevent; public BypassInd(Rider r){ super(r); bypassevent=r.readWord(); } public String toString(){ String s=super.toString(); switch(bypassevent){ case 1: s+="echo canceller bypass due to continuous 2100Hz\n\t"; break; case 2: s+="echo canceller bypass due to phase reversed 2100Hz\n\t"; break; case 3: s+="echo canceller bypass released\n\t"; break; } return s; } } }