satellite-lora-phy-tx.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2017 University of Padova
4  *
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
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Davide Magrin <magrinda@dei.unipd.it>
19  */
20 
21 #ifndef SAT_LORA_PHY_TX_H
22 #define SAT_LORA_PHY_TX_H
23 
24 #include "satellite-phy-tx.h"
25 
26 namespace ns3
27 {
28 
34 {
35  uint8_t sf = 7;
36  bool headerDisabled = 0;
37  double codingRate = 4.0 / 5;
38  double bandwidthHz = 125000;
39  uint32_t nPreamble = 8;
40  bool crcEnabled = 1;
42 };
43 
49 class SatLoraPhyTx : public SatPhyTx
50 {
51  public:
52  // TypeId
53  static TypeId GetTypeId(void);
54 
58  SatLoraPhyTx();
59  virtual ~SatLoraPhyTx();
60 
67  typedef Callback<void> TxFinishedCallback;
68 
76 
81  void StartTx(Ptr<SatSignalParameters> txParams);
82 
83  void EndTx();
84 
85  bool IsTransmitting();
86 
87  protected:
88  private:
93 
95 };
96 
97 } /* namespace ns3 */
98 
99 #endif /* SAT_LORA_PHY_TX_H */
Class adding methods linked to Lora, needed to be used in a satellite context.
TxFinishedCallback m_txFinishedCallback
The callback to perform upon the end of a transmission.
SatLoraPhyTx()
Constructor and destructor.
void StartTx(Ptr< SatSignalParameters > txParams)
Start packet transmission to the channel.
void SetTxFinishedCallback(TxFinishedCallback callback)
Set the callback to call after transmission of a packet.
static TypeId GetTypeId(void)
Callback< void > TxFinishedCallback
Type definition for a callback to call when a packet has finished sending.
The SatellitePhyTx models the physical layer transmitter of satellite system.
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.
Structure to collect all parameters that are used to compute the duration of a packet (excluding payl...
bool lowDataRateOptimizationEnabled
Whether Low Data Rate Optimization is enabled.
uint32_t nPreamble
Number of preamble symbols.
bool headerDisabled
Whether to use implicit header mode.
uint8_t sf
Spreading Factor.
double bandwidthHz
Bandwidth in Hz.
bool crcEnabled
Whether Cyclic Redundancy Check is enabled.