예제 #1
0
 @Override
 public void drain() {
   if (Boolean.getBoolean("YDEBUG")) {
     System.out.println("YDataLine.drain()");
   }
   //
 }
예제 #2
0
 @Override
 public void stop() {
   YNative.stop();
   isRunning = false;
   // call LineListeners and let them know
   NotifiyListeners(LineEvent.Type.STOP, 0);
   if (Boolean.getBoolean("YDEBUG")) {
     System.out.println("YDataLine.stop()");
   }
 }
예제 #3
0
  public synchronized void init(Properties configuration) {
    initParams(configuration);
    if (firstTime) {
      firstTime = false;

      // try {TNCPort = Integer.parseInt(configuration.getProperty("SoundcardTNCDevice",
      // "1").trim());}
      // catch (Exception e){System.err.println("Exception parsing KISSTNCPortNumber
      // "+e.toString());}
      // tncPort =(byte)((TNCPort-1)<<4);
      try {
        TXDelay = (Integer.parseInt(configuration.getProperty("KISSTXDelay", "200").trim()) / 10);
      } catch (Exception e) {
        System.err.println("Exception parsing KISSTXDelay " + e.toString());
      }
      try {
        Persist = Integer.parseInt(configuration.getProperty("KISSPersist", "255").trim());
      } catch (Exception e) {
        System.err.println("Exception parsing KISSPersist " + e.toString());
      }
      try {
        SlotTime = (Integer.parseInt(configuration.getProperty("KISSSlotTime", "0").trim()));
      } catch (Exception e) {
        System.err.println("Exception parsing KISSPersist " + e.toString());
      }
      boolean fulldux = false;
      try {
        fulldux =
            Boolean.valueOf(configuration.getProperty("KISSFullDuplex", "false").trim())
                .booleanValue();
      } catch (Exception e) {
        System.err.println("Exception parsing KISSFullDuplex " + e.toString());
      }
      if (fulldux) FullDuplex = 1;
      try {
        TXTail = (Integer.parseInt(configuration.getProperty("KISSTXTail", "100").trim()) / 10);
      } catch (Exception e) {
        System.err.println("Exception parsing KISSTXTail " + e.toString());
      }

      try {
        rate = Integer.parseInt(configuration.getProperty("SoundcardSampleRate", "9600").trim());
      } catch (Exception e) {
        System.err.println("Exception parsing SoundcardSampleRate " + e.toString());
      }

      try {
        latency_ms = Integer.parseInt(configuration.getProperty("SoundcardLatency", "100").trim());
      } catch (Exception e) {
        System.err.println("Exception parsing SoundcardLatency " + e.toString());
      }

      // if (!configuration.containsKey("SoundCardName"))
      //	configuration.put("SerialPortName", configuration.getProperty("KISSPortName", ""));
      String soundcard = configuration.getProperty("SoundcardName", "default").trim();
      soundin = configuration.getProperty("SoundcardInputName", "default").trim();
      soundout = configuration.getProperty("SoundcardOutputName", "default").trim();
      if (soundin.equals("default")) soundin = soundcard;
      if (soundout.equals("default")) soundout = soundcard;

      System.err.println(
          "Starting up Afsk1200 modem on ["
              + soundin
              + ", "
              + soundout
              + "] at "
              + rate
              + " samples/s");

      try {
        modulator = new sivantoledo.ax25.Afsk1200Modulator(rate);
        demodulator = new sivantoledo.ax25.Afsk1200MultiDemodulator(rate, this);
        // afsk = new sivantoledo.ax25.Afsk1200(rate, this);
        modulator.setTxDelay(TXDelay);
      } catch (Exception e) {
        System.err.println("Afsk1200 constructor exception: " + e.getMessage());
        System.exit(1);
      }

      String ptt_port = configuration.getProperty("PTTPort", "none").trim();
      String ptt_signal = configuration.getProperty("PTTSignal", "RTS").trim();
      if (!ptt_port.equals("none")) {
        try {
          ptt = new SerialTransmitController(ptt_port, ptt_signal);
          System.err.println("Opened a serial PTT port: " + ptt_port);
        } catch (Exception e) {
          System.err.println("PTT initialization error: " + e.getMessage());
          ptt = null;
        }
      } else {
        System.err.println("Warning: No PTT port (okay for receive only or for VOX)");
      }

      sc =
          new sivantoledo.ax25.Soundcard(
              rate, soundin, soundout, latency_ms, demodulator, modulator);
      new Thread(this, "SoundInterface Read").start();
    }
  }
예제 #4
0
 @Override
 public void flush() {
   if (Boolean.getBoolean("YDEBUG")) {
     System.out.println("YDataLine.flush()");
   }
 }
예제 #5
0
 public YDataLine() {
   if (Boolean.getBoolean("YDEBUG")) {
     System.out.println("YDataLine()");
   }
 }
예제 #6
0
 public YDataLine(Line.Info info) {
   super(info);
   if (Boolean.getBoolean("YDEBUG")) {
     System.out.println("YDataLine(Line.Info info)");
   }
 }