Example #1
0
//------------------------------------------------------------------------------
// reset() -- Reset parameters
//------------------------------------------------------------------------------
void RfSensor::reset()
{
    BaseClass::reset();

    // ---
    // Do we need to find the track manager?
    // ---
    if (getTrackManager() == 0 && getTrackManagerName() != 0 && getOwnship() != 0) {
        // We have a name of the track manager, but not the track manager itself
        const char* name = *getTrackManagerName();

        // Get the named track manager from the onboard computer
        OnboardComputer* obc = getOwnship()->getOnboardComputer();
        if (obc != 0) {
            setTrackManager( obc->getTrackManagerByName(name) );
        }

        if (getTrackManager() == 0) {
            // The assigned track manager was not found!
            std::cerr << "RfSensor::reset() ERROR -- track manager, " << name << ", was not found!" << std::endl;
            setTrackManagerName(0);
        }
    }

    scanning = false;
    scanBar = 0;
    if (nRanges > 0 && ranges != 0) {
        rngIdx = 1;
        if (initRngIdx >= 1 && initRngIdx <= nRanges) {
            rngIdx = initRngIdx;
        }
        setRange( ranges[rngIdx-1] );
    }
}
Example #2
0
void Datalink::copyData(const Datalink& org, const bool cc)
{
   BaseClass::copyData(org);
   if (cc) initData();

   noRadioMaxRange = org.noRadioMaxRange;
   radioId = org.radioId;
   useRadioIdFlg = org.useRadioIdFlg;

   sendLocal = org.sendLocal;
   queueForNetwork = org.queueForNetwork;

   {
      const Basic::String* p = 0;
      if (org.radioName != 0) {
         p = org.radioName->clone();
      }
      setRadioName( p );
      setRadio(0);
   }

   {
      const Basic::String* p = 0;
      if (org.tmName != 0) {
         p = org.tmName->clone();
      }
      setTrackManagerName( p );
      setTrackManager(0);
   }
}
Example #3
0
//------------------------------------------------------------------------------
// updateData() -- update background data here
//------------------------------------------------------------------------------
void IrSensor::updateData(const double dt)
{
    BaseClass::updateData(dt);

   // ---
   // Do we need to find the track manager?
   // ---
   if (getTrackManager() == nullptr && getTrackManagerName() != nullptr && getOwnship() != nullptr) {
      // We have a name of the track manager, but not the track manager itself
      const char* name = *getTrackManagerName();

      // Get the named track manager from the onboard computer
      OnboardComputer* obc = getOwnship()->getOnboardComputer();
      if (obc != nullptr) {
         setTrackManager( obc->getTrackManagerByName(name) );
      }

      if (getTrackManager() == nullptr) {
         // The assigned track manager was not found!
         if (isMessageEnabled(MSG_ERROR)) {
            std::cerr << "IrSensor::reset() ERROR -- track manager, " << name << ", was not found!" << std::endl;
         }
         setTrackManagerName(nullptr);
      }
   }
}
Example #4
0
//------------------------------------------------------------------------------
// shutdownNotification() -- We're shutting down
//------------------------------------------------------------------------------
bool Datalink::shutdownNotification()
{
   clearQueues();
   setRadio(0);
   setTrackManager(0);
   setTrackManagerName(0);

   return BaseClass::shutdownNotification();
}
Example #5
0
void Datalink::deleteData()
{
   if (inQueue != 0 && outQueue != 0) {
      clearQueues();
      delete inQueue;
      delete outQueue;
      inQueue = 0;
      outQueue = 0;
   }
   setRadio(0);
   setRadioName(0);
   setTrackManager(0);
   setTrackManagerName(0);
}
Example #6
0
void Datalink::deleteData()
{
   if (inQueue != nullptr && outQueue != nullptr) {
      clearQueues();
      delete inQueue;
      delete outQueue;
      inQueue = nullptr;
      outQueue = nullptr;
   }
   setRadio(nullptr);
   setRadioName(nullptr);
   setTrackManager(nullptr);
   setTrackManagerName(nullptr);
}
Example #7
0
// setSlotTrackManagerName() -- sets the name of the track manager;
// we'll lookup the actual track manager in reset() later
bool RfSensor::setSlotTrackManagerName(Basic::String* const v)
{
    return setTrackManagerName(v);
}
Example #8
0
// setSlotFieldOfRegard() - Sets the field of regard
//bool IrSensor::setSlotFieldOfRegard(const base::Number* const msg)
//{
//   bool ok = false;
//   if (msg != nullptr) {
//      double x = msg->getReal();
//      ok = setFieldOfRegard(x);
//      if (!ok) {
//                if (isMessageEnabled(MSG_ERROR)) {
//                    std::cerr << "IrSensor::setSlotFieldOfRegard: Error setting Field of Regard!" << std::endl;
//                }
//      }
//   }
//
//   return ok;
//}
// setSlotTrackManagerName() -- sets the name of the track manager;
// we'll lookup the actual track manager in reset() later
bool IrSensor::setSlotTrackManagerName(base::String* const v)
{
    return setTrackManagerName(v);
}
Example #9
0
void IrSensor::deleteData()
{
   setTrackManager(nullptr);
   setTrackManagerName(nullptr);
   clearTracksAndQueues();
}