|
|
| 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) |