OLD | NEW |
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ | 1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ |
2 /* | 2 /* |
3 * Copyright (c) 2005,2006 INRIA | 3 * Copyright (c) 2005,2006 INRIA |
4 * | 4 * |
5 * This program is free software; you can redistribute it and/or modify | 5 * This program is free software; you can redistribute it and/or modify |
6 * it under the terms of the GNU General Public License version 2 as· | 6 * it under the terms of the GNU General Public License version 2 as· |
7 * published by the Free Software Foundation; | 7 * published by the Free Software Foundation; |
8 * | 8 * |
9 * This program is distributed in the hope that it will be useful, | 9 * This program is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
527 YansWifiPhy::GetNTxPower (void) const | 527 YansWifiPhy::GetNTxPower (void) const |
528 { | 528 { |
529 return m_nTxPower; | 529 return m_nTxPower; |
530 } | 530 } |
531 | 531 |
532 void | 532 void |
533 YansWifiPhy::Configure80211a (void) | 533 YansWifiPhy::Configure80211a (void) |
534 { | 534 { |
535 NS_LOG_FUNCTION (this); | 535 NS_LOG_FUNCTION (this); |
536 m_channelStartingFrequency = 5e3; // 5.000 GHz· | 536 m_channelStartingFrequency = 5e3; // 5.000 GHz· |
537 m_modes.push_back (WifiPhy::Get6mba ()); | 537 |
538 m_modes.push_back (WifiPhy::Get9mba ()); | 538 m_modes.push_back (WifiPhy::GetOfdmRate6Mbps ()); |
539 m_modes.push_back (WifiPhy::Get12mba ()); | 539 m_modes.push_back (WifiPhy::GetOfdmRate9Mbps ()); |
540 m_modes.push_back (WifiPhy::Get18mba ()); | 540 m_modes.push_back (WifiPhy::GetOfdmRate12Mbps ()); |
541 m_modes.push_back (WifiPhy::Get24mba ()); | 541 m_modes.push_back (WifiPhy::GetOfdmRate18Mbps ()); |
542 m_modes.push_back (WifiPhy::Get36mba ()); | 542 m_modes.push_back (WifiPhy::GetOfdmRate24Mbps ()); |
543 m_modes.push_back (WifiPhy::Get48mba ()); | 543 m_modes.push_back (WifiPhy::GetOfdmRate36Mbps ()); |
544 m_modes.push_back (WifiPhy::Get54mba ()); | 544 m_modes.push_back (WifiPhy::GetOfdmRate48Mbps ()); |
| 545 m_modes.push_back (WifiPhy::GetOfdmRate54Mbps ()); |
545 } | 546 } |
546 | 547 |
547 | 548 |
548 void | 549 void |
549 YansWifiPhy::Configure80211b (void) | 550 YansWifiPhy::Configure80211b (void) |
550 { | 551 { |
551 NS_LOG_FUNCTION (this); | 552 NS_LOG_FUNCTION (this); |
552 m_channelStartingFrequency = 2412; // 2.412 GHz· | 553 m_channelStartingFrequency = 2412; // 2.412 GHz· |
553 m_modes.push_back (WifiPhy::Get1mbb ()); | 554 |
554 m_modes.push_back (WifiPhy::Get2mbb ()); | 555 m_modes.push_back (WifiPhy::GetDsssRate1Mbps ()); |
555 m_modes.push_back (WifiPhy::Get5_5mbb ()); | 556 m_modes.push_back (WifiPhy::GetDsssRate2Mbps ()); |
556 m_modes.push_back (WifiPhy::Get11mbb ()); | 557 m_modes.push_back (WifiPhy::GetDsssRate5_5Mbps ()); |
| 558 m_modes.push_back (WifiPhy::GetDsssRate11Mbps ()); |
557 } | 559 } |
558 | 560 |
559 void | 561 void |
560 YansWifiPhy::Configure80211_10Mhz (void) | 562 YansWifiPhy::Configure80211_10Mhz (void) |
561 { | 563 { |
562 NS_LOG_FUNCTION (this); | 564 NS_LOG_FUNCTION (this); |
563 m_channelStartingFrequency = 5e3; // 5.000 GHz, suppose 802.11a· | 565 m_channelStartingFrequency = 5e3; // 5.000 GHz, suppose 802.11a· |
564 m_modes.push_back (WifiPhy::Get3mb10Mhz ()); | 566 |
565 m_modes.push_back (WifiPhy::Get4_5mb10Mhz ()); | 567 m_modes.push_back (WifiPhy::GetOfdmRate3MbpsBW10MHz ()); |
566 m_modes.push_back (WifiPhy::Get6mb10Mhz ()); | 568 m_modes.push_back (WifiPhy::GetOfdmRate4_5MbpsBW10MHz ()); |
567 m_modes.push_back (WifiPhy::Get9mb10Mhz ()); | 569 m_modes.push_back (WifiPhy::GetOfdmRate6MbpsBW10MHz ()); |
568 m_modes.push_back (WifiPhy::Get12mb10Mhz ()); | 570 m_modes.push_back (WifiPhy::GetOfdmRate9MbpsBW10MHz ()); |
569 m_modes.push_back (WifiPhy::Get18mb10Mhz ()); | 571 m_modes.push_back (WifiPhy::GetOfdmRate12MbpsBW10MHz ()); |
570 m_modes.push_back (WifiPhy::Get24mb10Mhz ()); | 572 m_modes.push_back (WifiPhy::GetOfdmRate18MbpsBW10MHz ()); |
571 m_modes.push_back (WifiPhy::Get27mb10Mhz ()); | 573 m_modes.push_back (WifiPhy::GetOfdmRate24MbpsBW10MHz ()); |
| 574 m_modes.push_back (WifiPhy::GetOfdmRate27MbpsBW10MHz ()); |
572 } | 575 } |
573 | 576 |
574 void | 577 void |
575 YansWifiPhy::Configure80211_5Mhz (void) | 578 YansWifiPhy::Configure80211_5Mhz (void) |
576 { | 579 { |
577 NS_LOG_FUNCTION (this);· | 580 NS_LOG_FUNCTION (this);· |
578 m_channelStartingFrequency = 5e3; // 5.000 GHz, suppose 802.11a | 581 m_channelStartingFrequency = 5e3; // 5.000 GHz, suppose 802.11a |
579 m_modes.push_back (WifiPhy::Get1_5mb5Mhz ()); | 582 |
580 m_modes.push_back (WifiPhy::Get2_25mb5Mhz ()); | 583 m_modes.push_back (WifiPhy::GetOfdmRate1_5MbpsBW5MHz ()); |
581 m_modes.push_back (WifiPhy::Get3mb5Mhz ()); | 584 m_modes.push_back (WifiPhy::GetOfdmRate2_25MbpsBW5MHz ()); |
582 m_modes.push_back (WifiPhy::Get4_5mb5Mhz ()); | 585 m_modes.push_back (WifiPhy::GetOfdmRate3MbpsBW5MHz ()); |
583 m_modes.push_back (WifiPhy::Get6mb5Mhz ()); | 586 m_modes.push_back (WifiPhy::GetOfdmRate4_5MbpsBW5MHz ()); |
584 m_modes.push_back (WifiPhy::Get9mb5Mhz ()); | 587 m_modes.push_back (WifiPhy::GetOfdmRate6MbpsBW5MHz ()); |
585 m_modes.push_back (WifiPhy::Get12mb5Mhz ()); | 588 m_modes.push_back (WifiPhy::GetOfdmRate9MbpsBW5MHz ()); |
586 m_modes.push_back (WifiPhy::Get13_5mb5Mhz ()); | 589 m_modes.push_back (WifiPhy::GetOfdmRate12MbpsBW5MHz ()); |
| 590 m_modes.push_back (WifiPhy::GetOfdmRate13_5MbpsBW5MHz ()); |
587 } | 591 } |
588 | 592 |
589 void | 593 void |
590 YansWifiPhy::ConfigureHolland (void) | 594 YansWifiPhy::ConfigureHolland (void) |
591 { | 595 { |
592 NS_LOG_FUNCTION (this); | 596 NS_LOG_FUNCTION (this); |
593 m_channelStartingFrequency = 5e3; // 5.000 GHz· | 597 m_channelStartingFrequency = 5e3; // 5.000 GHz· |
594 m_modes.push_back (WifiPhy::Get6mba ()); | 598 m_modes.push_back (WifiPhy::GetOfdmRate6Mbps ()); |
595 m_modes.push_back (WifiPhy::Get12mba ()); | 599 m_modes.push_back (WifiPhy::GetOfdmRate12Mbps ()); |
596 m_modes.push_back (WifiPhy::Get18mba ()); | 600 m_modes.push_back (WifiPhy::GetOfdmRate18Mbps ()); |
597 m_modes.push_back (WifiPhy::Get36mba ()); | 601 m_modes.push_back (WifiPhy::GetOfdmRate36Mbps ()); |
598 m_modes.push_back (WifiPhy::Get54mba ()); | 602 m_modes.push_back (WifiPhy::GetOfdmRate54Mbps ()); |
599 } | 603 } |
600 | 604 |
601 void | 605 void |
602 YansWifiPhy::Configure80211p_CCH (void) | 606 YansWifiPhy::Configure80211p_CCH (void) |
603 { | 607 { |
604 NS_LOG_FUNCTION (this); | 608 NS_LOG_FUNCTION (this); |
605 m_channelStartingFrequency = 5e3; // 802.11p works over the 5Ghz freq range | 609 m_channelStartingFrequency = 5e3; // 802.11p works over the 5Ghz freq range |
606 m_modes.push_back (WifiPhy::Get3mb10Mhz ()); | 610 |
607 m_modes.push_back (WifiPhy::Get4_5mb10Mhz ()); | 611 m_modes.push_back (WifiPhy::GetOfdmRate3MbpsBW10MHz ()); |
608 m_modes.push_back (WifiPhy::Get6mb10Mhz ()); | 612 m_modes.push_back (WifiPhy::GetOfdmRate4_5MbpsBW10MHz ()); |
609 m_modes.push_back (WifiPhy::Get9mb10Mhz ()); | 613 m_modes.push_back (WifiPhy::GetOfdmRate6MbpsBW10MHz ()); |
610 m_modes.push_back (WifiPhy::Get12mb10Mhz ()); | 614 m_modes.push_back (WifiPhy::GetOfdmRate9MbpsBW10MHz ()); |
611 m_modes.push_back (WifiPhy::Get18mb10Mhz ()); | 615 m_modes.push_back (WifiPhy::GetOfdmRate12MbpsBW10MHz ()); |
612 m_modes.push_back (WifiPhy::Get24mb10Mhz ()); | 616 m_modes.push_back (WifiPhy::GetOfdmRate18MbpsBW10MHz ()); |
613 m_modes.push_back (WifiPhy::Get27mb10Mhz ()); | 617 m_modes.push_back (WifiPhy::GetOfdmRate24MbpsBW10MHz ()); |
| 618 m_modes.push_back (WifiPhy::GetOfdmRate27MbpsBW10MHz ()); |
614 } | 619 } |
615 | 620 |
616 void | 621 void |
617 YansWifiPhy::Configure80211p_SCH (void) | 622 YansWifiPhy::Configure80211p_SCH (void) |
618 { | 623 { |
619 NS_LOG_FUNCTION (this); | 624 NS_LOG_FUNCTION (this); |
620 m_channelStartingFrequency = 5e3; // 802.11p works over the 5Ghz freq range | 625 m_channelStartingFrequency = 5e3; // 802.11p works over the 5Ghz freq range |
621 m_modes.push_back (WifiPhy::Get3mb10Mhz ()); | 626 |
622 m_modes.push_back (WifiPhy::Get4_5mb10Mhz ()); | 627 m_modes.push_back (WifiPhy::GetOfdmRate3MbpsBW10MHz ()); |
623 m_modes.push_back (WifiPhy::Get6mb10Mhz ()); | 628 m_modes.push_back (WifiPhy::GetOfdmRate4_5MbpsBW10MHz ()); |
624 m_modes.push_back (WifiPhy::Get9mb10Mhz ()); | 629 m_modes.push_back (WifiPhy::GetOfdmRate6MbpsBW10MHz ()); |
625 m_modes.push_back (WifiPhy::Get12mb10Mhz ()); | 630 m_modes.push_back (WifiPhy::GetOfdmRate9MbpsBW10MHz ()); |
626 m_modes.push_back (WifiPhy::Get18mb10Mhz ()); | 631 m_modes.push_back (WifiPhy::GetOfdmRate12MbpsBW10MHz ()); |
627 m_modes.push_back (WifiPhy::Get24mb10Mhz ()); | 632 m_modes.push_back (WifiPhy::GetOfdmRate18MbpsBW10MHz ()); |
628 m_modes.push_back (WifiPhy::Get27mb10Mhz ()); | 633 m_modes.push_back (WifiPhy::GetOfdmRate24MbpsBW10MHz ()); |
| 634 m_modes.push_back (WifiPhy::GetOfdmRate27MbpsBW10MHz ()); |
629 } | 635 } |
630 | 636 |
631 void· | 637 void· |
632 YansWifiPhy::RegisterListener (WifiPhyListener *listener) | 638 YansWifiPhy::RegisterListener (WifiPhyListener *listener) |
633 { | 639 { |
634 m_state->RegisterListener (listener); | 640 m_state->RegisterListener (listener); |
635 } | 641 } |
636 | 642 |
637 bool· | 643 bool· |
638 YansWifiPhy::IsStateCcaBusy (void) | 644 YansWifiPhy::IsStateCcaBusy (void) |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
753 m_state->SwitchFromRxEndOk (packet, snrPer.snr, event->GetPayloadMode (),
event->GetPreambleType ()); | 759 m_state->SwitchFromRxEndOk (packet, snrPer.snr, event->GetPayloadMode (),
event->GetPreambleType ()); |
754 }· | 760 }· |
755 else· | 761 else· |
756 { | 762 { |
757 /* failure. */ | 763 /* failure. */ |
758 NotifyRxDrop (packet); | 764 NotifyRxDrop (packet); |
759 m_state->SwitchFromRxEndError (packet, snrPer.snr); | 765 m_state->SwitchFromRxEndError (packet, snrPer.snr); |
760 } | 766 } |
761 } | 767 } |
762 } // namespace ns3 | 768 } // namespace ns3 |
OLD | NEW |