|
525 |
NS_LOG_DEBUG ("PHY requested to TX while already Transmitting. Dropping packet."); |
525 |
NS_LOG_DEBUG ("PHY requested to TX while already Transmitting. Dropping packet."); |
526 |
return; |
526 |
return; |
527 |
} |
527 |
} |
|
|
528 |
else if (m_state == SLEEP) |
529 |
{ |
530 |
NS_LOG_DEBUG ("PHY requested to TX while sleeping. Dropping packet."); |
531 |
return; |
532 |
} |
528 |
|
533 |
|
529 |
UanTxMode txMode = GetMode (modeNum); |
534 |
UanTxMode txMode = GetMode (modeNum); |
530 |
|
535 |
|
|
547 |
void |
552 |
void |
548 |
UanPhyGen::TxEndEvent () |
553 |
UanPhyGen::TxEndEvent () |
549 |
{ |
554 |
{ |
|
|
555 |
if (m_state == SLEEP || m_disabled == true) |
556 |
{ |
557 |
NS_LOG_DEBUG ("Transmission ended but node sleeping or dead"); |
558 |
return; |
559 |
} |
560 |
|
550 |
NS_ASSERT (m_state == TX); |
561 |
NS_ASSERT (m_state == TX); |
551 |
if (GetInterferenceDb ( (Ptr<Packet>) 0) > m_ccaThreshDb) |
562 |
if (GetInterferenceDb ( (Ptr<Packet>) 0) > m_ccaThreshDb) |
552 |
{ |
563 |
{ |
|
632 |
} |
643 |
} |
633 |
break; |
644 |
break; |
634 |
case SLEEP: |
645 |
case SLEEP: |
635 |
NS_FATAL_ERROR ("SLEEP state handling not yet implemented!"); |
646 |
NS_LOG_DEBUG ("Sleep mode. Dropping packet."); |
636 |
break; |
647 |
break; |
637 |
} |
648 |
} |
638 |
|
649 |
|
|
652 |
return; |
663 |
return; |
653 |
} |
664 |
} |
654 |
|
665 |
|
|
|
666 |
if (m_disabled || m_state == SLEEP) |
667 |
{ |
668 |
NS_LOG_DEBUG ("Sleep mode or dead. Dropping packet"); |
669 |
m_pktRx = 0; |
670 |
return; |
671 |
} |
672 |
|
655 |
if (GetInterferenceDb ( (Ptr<Packet>) 0) > m_ccaThreshDb) |
673 |
if (GetInterferenceDb ( (Ptr<Packet>) 0) > m_ccaThreshDb) |
656 |
{ |
674 |
{ |
657 |
m_state = CCABUSY; |
675 |
m_state = CCABUSY; |
|
817 |
m_transducer->AddPhy (this); |
835 |
m_transducer->AddPhy (this); |
818 |
} |
836 |
} |
819 |
|
837 |
|
|
|
838 |
void |
839 |
UanPhyGen::SetSleepMode (bool sleep) |
840 |
{ |
841 |
if (sleep) |
842 |
{ |
843 |
m_state = SLEEP; |
844 |
if (!m_energyCallback.IsNull ()) |
845 |
{ |
846 |
m_energyCallback (SLEEP); |
847 |
} |
848 |
} |
849 |
else |
850 |
{ |
851 |
m_state = IDLE; |
852 |
if (!m_energyCallback.IsNull ()) |
853 |
{ |
854 |
m_energyCallback (IDLE); |
855 |
} |
856 |
} |
857 |
} |
820 |
|
858 |
|
821 |
void |
859 |
void |
822 |
UanPhyGen::NotifyTransStartTx (Ptr<Packet> packet, double txPowerDb, UanTxMode txMode) |
860 |
UanPhyGen::NotifyTransStartTx (Ptr<Packet> packet, double txPowerDb, UanTxMode txMode) |