Class ConfigureBeaconRates

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, SetBeaconRatesIfc

public class ConfigureBeaconRates extends JPanel implements SetBeaconRatesIfc
This class provides configuration controls for editing fast and slow beacon rates.
Author:
Andrew Pavlin, KA2DDO
See Also:
  • Constructor Details

    • ConfigureBeaconRates

      public ConfigureBeaconRates(ResourceBundle msgBundle, SetBeaconRatesIfc beaconRatesTarget)
      Create a sub-panel for editing messaging intervals.
      Parameters:
      msgBundle - ResourceBundle for obtaining localized label strings
      beaconRatesTarget - SetBeaconRateIfc implementor to provide initial control values and receive value changes, or null to use APRS defaults and require explicit calls to getter and setter methods
  • Method Details

    • setBeaconRateTarget

      public void setBeaconRateTarget(SetBeaconRatesIfc beaconRatesIfc)
      Switch to the settings for a different beacon record.
      Parameters:
      beaconRatesIfc - SetBeaconRatesIfc implementer to initialize the widgets and receive any input from the widgets
    • getDecayRatio

      public int getDecayRatio()
      Get the scaling factor by which the message repeat interval is enlarged (until the default slow send rate is reached).
      Specified by:
      getDecayRatio in interface SetBeaconRatesIfc
      Returns:
      int decay ratio
    • setDecayRatio

      public void setDecayRatio(int decayRatio)
      Set the scaling factor by which the message repeat interval is enlarged (until the default slow send rate is reached).
      Specified by:
      setDecayRatio in interface SetBeaconRatesIfc
      Parameters:
      decayRatio - int decay ratio (should be 2 or 3)
    • getInitialSendRate

      public int getInitialSendRate()
      Get the time interval between retransmissions when a message is newly introduced into the system.
      Specified by:
      getInitialSendRate in interface SetBeaconRatesIfc
      Returns:
      send interval in seconds, or zero to turn off automatic beaconing
    • setInitialSendRate

      public void setInitialSendRate(int initialSendRate)
      Set the time interval between retransmissions when a message is newly introduced into the system.
      Specified by:
      setInitialSendRate in interface SetBeaconRatesIfc
      Parameters:
      initialSendRate - send interval in seconds
    • getSlowSendRate

      public int getSlowSendRate()
      The slowest rate a message should be sent. For messages to be terminated, they should stop being requeued when the retransmission interval is enlarged to this.
      Specified by:
      getSlowSendRate in interface SetBeaconRatesIfc
      Returns:
      transmission interval in seconds
    • setSlowSendRate

      public void setSlowSendRate(int slowSendRate)
      Set the slowest rate a message should be sent. For messages to be terminated, they should stop being requeued when the retransmission interval is enlarged to this.
      Specified by:
      setSlowSendRate in interface SetBeaconRatesIfc
      Parameters:
      slowSendRate - transmission interval in seconds
    • isUseGpsForPosition

      public boolean isUseGpsForPosition()
      Indicate whether beacon data source can dynamically change its position (latitude/longitude), such as for a mobile station with a GPS.
      Specified by:
      isUseGpsForPosition in interface SetBeaconRatesIfc
      Returns:
      boolean true if latitude or longitude of beacon can change dynamically (not just through UI)