OMNET++ MOBILE COMPUTING PROJECTS

OMNET++ MOBILE COMPUTING PROJECTS is based on the use of battery powered, portable, and wireless computing and communication devices, like smart mobile phones, wearable computers and personal digital assistants.

OMNeT++ Mobile Computing Projects

Mobile computing technologies:

  • Cellular digital packet data.
  • Internet.
  • Satellite.
  • ARDIS data network.
  • RAM and .
  • GSM.

Mobile computing projects:

  • 5G challenges.
  • LTE.
  • EPON.
  • LTE-A.
  • Hand over management process.
  • 4G applications.

Download Sample Source Code for OMNeT++ Mobile Computing Projects


[code lang="js"]
void MobilityBase::setInitialPosition()
{
    // reading the coordinates from omnetpp.ini makes predefined scenarios a lot easier
    bool filled = false;
    if (hasPar("initFromDisplayString") && par("initFromDisplayString").boolValue() && visualRepresentation)
    {
        filled = parseIntTo(visualRepresentation->getDisplayString().getTagArg("p", 0), lastPosition.x)
              && parseIntTo(visualRepresentation->getDisplayString().getTagArg("p", 1), lastPosition.y);
        if (filled)
            lastPosition.z = 0;

    }
    // not all mobility models have "initialX", "initialY" and "initialZ" parameters
    else if (hasPar("initialX") && hasPar("initialY") && hasPar("initialZ"))
    {
        lastPosition.x = par("initialX");
        lastPosition.y = par("initialY");
        lastPosition.z = par("initialZ");
        filled = true;
    }
    if (!filled)
        lastPosition = getRandomPosition();
}

void MobilityBase::checkPosition()
{
    if (!isFiniteNumber(lastPosition.x) || !isFiniteNumber(lastPosition.y) || !isFiniteNumber(lastPosition.z))
        throw cRuntimeError("Mobility position is not a finite number after initialize (x=%g,y=%g,z=%g)", lastPosition.x, lastPosition.y, lastPosition.z);
    if (isOutside())
        throw cRuntimeError("Mobility position (x=%g,y=%g,z=%g) is outside the constraint area (%g,%g,%g - %g,%g,%g)",
              lastPosition.x, lastPosition.y, lastPosition.z,
              constraintAreaMin.x, constraintAreaMin.y, constraintAreaMin.z,
              constraintAreaMax.x, constraintAreaMax.y, constraintAreaMax.z);
}

void MobilityBase::handleMessage(cMessage * message)
{
    if (message->isSelfMessage())
        handleSelfMessage(message);
    else
        throw cRuntimeError("Mobility modules can only receive self messages");
}

[/code]