//------------------------------------------------------------------------------ // transmitDataMessage() -- send a data message emission; // returns true if the data emission was sent. //------------------------------------------------------------------------------ bool CommRadio::transmitDataMessage(base::Object* const msg) { bool sent = false; // Transmitting, scanning and have an antenna? if(getOwnship() == nullptr) { if (isMessageEnabled(MSG_DEBUG)) { std::cout << "CommRadio ownship == nullptr!" << std::endl; } return sent; } if (msg != nullptr && isTransmitterEnabled() && getAntenna() != nullptr) { // Send the emission to the other player Emission* em = new Emission(); em->setDataMessage(msg); em->setFrequency(getFrequency()); em->setBandwidth(getBandwidth()); em->setPower(getPeakPower()); em->setTransmitLoss(getRfTransmitLoss()); em->setMaxRangeNM(getMaxDetectRange()); em->setTransmitter(this); em->setReturnRequest(false); getAntenna()->rfTransmit(em); em->unref(); sent = true; } return sent; }
//------------------------------------------------------------------------------ // transmit() -- send radar emissions //------------------------------------------------------------------------------ void Radar::transmit(const LCreal dt) { BaseClass::transmit(dt); // Transmitting, scanning and have an antenna? if ( !areEmissionsDisabled() && isTransmitting() ) { // Send the emission to the other player Emission* em = new Emission(); em->setFrequency(getFrequency()); em->setBandwidth(getBandwidth()); const LCreal prf1 = getPRF(); em->setPRF(prf1); int pulses = static_cast<int>(prf1 * dt + 0.5); if (pulses == 0) pulses = 1; // at least one em->setPulses(pulses); const LCreal p = getPeakPower(); em->setPower(p); em->setMaxRangeNM(getRange()); em->setPulseWidth(getPulseWidth()); em->setTransmitLoss(getRfTransmitLoss()); em->setReturnRequest( isReceiverEnabled() ); em->setTransmitter(this); getAntenna()->rfTransmit(em); em->unref(); } }