OMNeT++ 4.3 and MiXiM 2.3 Strange Behaviour The timers from IEEE 802.15.4 Narrow seems to disappear

93 views
Skip to first unread message

Norberto_IT

unread,
Jun 13, 2013, 7:12:46 PM6/13/13
to omn...@googlegroups.com
I have found a strange behaviour in the MiXiM 4.3 Simulator.


I have a timer responsible for putting the radio in the Sleep Mode. After some time I wakeup the Radio again.

else if(msg==scheduleWakeUpTimer){         //_(NB)_Schedule Next Wake-up Time (2013-06-04)
        EV<<endl<<"\t** (NB) msg==scheduleWakeUpTimer"<<endl;
        EV<<"\t** (NB) phy->getRadioState(): "<<phy->getRadioState()<<endl;



        if(phy->getRadioState()==MiximRadio::SLEEP)
            phy->setRadioState(MiximRadio::RX);

        if(!manageQueueTimer->isScheduled())
            scheduleAt(simTime()+DT, manageQueueTimer); //_(NB)_Since all the nodes wake-up at the same time this avoids a collision





        //_(NB)_This code used for the duty cycle (2013-06-04)
        cancelEvent(scheduleWakeUpTimer);                           //_(NB)_If the event scheduleWakeUpTimer already exists cancel before schedule a new one (2013-06-04)
        scheduleAt(simTime()+frameLength, scheduleWakeUpTimer);     //_(NB)_The node will wake up after frameLength (2013-06-04)

    }

By using the normal IEEE 802.15.4 Narrow procedure after manageQueueTimer  I enter in the backoffTimer and I got the following error:

Simulation terminated with exit code: -1073741819
Working directory: C:/omnetpp-4.3/samples/mixim-2.3/examples/ieee802154Narrow
Command line: ../miximexamples.exe -r 0 -c IEEE8021541 -n ..;../../src/base;../../src/inet_stub;../../src/modules -l ../../src/mixim omnetpp.ini

Environment variables:
OMNETPP_ROOT=c:/omnetpp-4.3
PATH=;C:/omnetpp-4.3/samples/mixim-2.3/src;c:\omnetpp-4.3\bin;c:\omnetpp-4.3\msys\bin;c:\omnetpp-4.3\mingw\bin;c:/omnetpp-4.3/ide/jre/bin/client;c:/omnetpp-4.3/ide/jre/bin;c:/omnetpp-4.3/ide/jre/lib/i386;.;C:\omnetpp-4.3\msys\local\bin;c:\omnetpp-4.3\mingw\bin;C:\omnetpp-4.3\msys\bin;c:\omnetpp-4.3\bin;c:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;c:\Program Files (x86)\Intel\iCLS Client\;c:\Program Files\Intel\iCLS Client\;c:\Windows\system32;c:\Windows;c:\Windows\System32\Wbem;c:\Windows\System32\WindowsPowerShell\v1.0\;c:\Program Files (x86)\EgisTec MyWinLocker\x64;c:\Program Files (x86)\EgisTec MyWinLocker\;c:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;c:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;c:\Program Files\Intel\Intel(R) Management Engine Components\DAL;c:\Program Files\Intel\Intel(R) Management Engine Components\IPT;c:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;c:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;c:\Program Files\MATLAB\R2012b\runtime\win64;c:\Program Files\MATLAB\R2012b\bin;c:\omnetpp-4.3;
OMNETPP_IMAGE_PATH=c:\omnetpp-4.3\images



However If I create a new  ccaTimer inside the backoffTimer the error disappears.


if(msg==backoffTimer){


        ccaTimer->getCreationTime();
        EV<<"\t** (NB) ccaTimer->getCreationTime(): "<<ccaTimer->getCreationTime()<<endl;


            ccaTimer = new cMessage("timer-cca");

        EV<<"\t** (NB) macQueue.size(): "<<macQueue.size()<<endl;

        executeMac(EV_TIMER_BACKOFF, msg);
}


Can someone explain to me what is happening???

It seems like the timers disappear when I go to the sleep mode by using    phy->setRadioState(MiximRadio::SLEEP);





Reply all
Reply to author
Forward
0 new messages