DESERT 3.5.1
Loading...
Searching...
No Matches
uwphy-clmsg.cc
Go to the documentation of this file.
1//
2// Copyright (c) 2015 Regents of the SIGNET lab, University of Padova.
3// All rights reserved.
4//
5// Redistribution and use in source and binary forms, with or without
6// modification, are permitted provided that the following conditions
7// are met:
8// 1. Redistributions of source code must retain the above copyright
9// notice, this list of conditions and the following disclaimer.
10// 2. Redistributions in binary form must reproduce the above copyright
11// notice, this list of conditions and the following disclaimer in the
12// documentation and/or other materials provided with the distribution.
13// 3. Neither the name of the University of Padova (SIGNET lab) nor the
14// names of its contributors may be used to endorse or promote products
15// derived from this software without specific prior written permission.
16//
17// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
21// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
24// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
27// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
38#include "uwphy-clmsg.h"
39
40ClMsgUwPhy::ClMsgUwPhy(ClMessage_t type)
41: ClMessage(CLMSG_UWPHY_VERBOSITY, type),
43 req_type(NOT_VALID)
44{
45}
46
47
48ClMsgUwPhy::ClMsgUwPhy(int sid, int dest_module_id, ClMessage_t type)
49: ClMessage(CLMSG_UWPHY_VERBOSITY, type, UNICAST, dest_module_id),
50 stack_id(sid),
51 req_type(NOT_VALID)
52{
53}
54
56: ClMessage(msg),
58{
59 req_type = msg.req_type;
60}
61
65
67{
68 return new ClMsgUwPhy(*this);
69}
70
72{
73 req_type = type;
74}
75
80
81
87
88ClMsgUwPhyTxPwr::ClMsgUwPhyTxPwr(int sid, int dest_module_id)
89: ClMsgUwPhy(sid, dest_module_id,CLMSG_UWPHY_TX_POWER),
90 tx_power(0)
91{
92}
93
99
103
105{
106 return tx_power;
107}
108
110{
111 tx_power = power;
112}
113
114
120
121ClMsgUwPhyBRate::ClMsgUwPhyBRate(int sid, int dest_module_id)
122: ClMsgUwPhy(sid, dest_module_id, CLMSG_UWPHY_B_RATE),
123 b_rate(0)
124{
125}
126
132
136
138{
139 return b_rate;
140}
141
143{
144 b_rate = rate;
145}
146
147
153
154ClMsgUwPhyThresh::ClMsgUwPhyThresh(int sid, int dest_module_id)
155: ClMsgUwPhy(sid, dest_module_id, CLMSG_UWPHY_THRESH),
156 threshold(0)
157{
158}
159
165
169
171{
172 return threshold;
173}
174
176{
177 threshold = thresh;
178}
179
180
183 tx_busy(0),
184 getop(0)
185{
186}
187
188ClMsgUwPhyTxBusy::ClMsgUwPhyTxBusy(int sid, int dest_module_id)
189: ClMsgUwPhy(sid, dest_module_id,CLMSG_UWPHY_TX_BUSY),
190 tx_busy(0),
191 getop(0)
192{
193}
194
200
204
206{
207 return tx_busy;
208}
209
211{
212 tx_busy = busy;
213}
214
216{
217 return getop;
218}
219
221{
222 getop = go;
223}
224
227, lost_packets(0)
228, is_control(control)
229{
230
231}
232ClMsgUwPhyGetLostPkts::ClMsgUwPhyGetLostPkts(int stack_id, int dest_module_id, bool control)
233: ClMsgUwPhy(stack_id, dest_module_id, CLMSG_UWPHY_LOSTPKT)
234, lost_packets(0)
235{
236
237}
238
240: ClMsgUwPhy(msg),
241 lost_packets(0)
242{
243
244}
245
250
255
257{
258 lost_packets = lost_pkt;
259}
ClMsgUwPhyBRate should be and used to ask either to set or get the communication rate (can be bitrate...
void setBRate(double rate)
method to set the transmitting rate
double getBRate()
method to return the transmitting rate
virtual ~ClMsgUwPhyBRate()
Destructor of the ClMsgUwPhyTxPwr class.
ClMsgUwPhyBRate()
Broadcast constructor of the ClMsgUwPhyBRate class.
ClMsgUwPhyGetLostPkts should be used by a layer to ask the phy how many packets it discarded from the...
void setLostPkts(uint lost_pkt)
method to set the number of packets lost by the phy.
uint getLostPkts()
method to return the number of packets lost by the phy.
~ClMsgUwPhyGetLostPkts()
Destructor of the ClMsgUwPhyGetLostPkts class.
ClMsgUwPhyGetLostPkts(bool control=false)
Broadcast constructor of the ClMsgUwPhyBRate class.
ClMsgUwPhyThresh should be and used to ask either to set or get the receiving threshold (can be SNR o...
ClMsgUwPhyThresh()
Broadcast constructor of the ClMsgUwPhyBRate class.
void setThresh(double thresh)
method to set the rx threshold
double getThresh()
method to return the rx threshold
virtual ~ClMsgUwPhyThresh()
Destructor of the ClMsgUwPhyThresh class.
ClMsgUwPhyTxBusy should be and used to ask either to set or get the transmitting busy variable of a s...
void setGetOp(int)
method to return the transmitting power
~ClMsgUwPhyTxBusy()
Destructor of the class.
ClMsgUwPhyTxBusy()
Broadcast constructor of the ClMsgUwPhyTxBusy class.
void setTxBusy(int powr)
method to set the transmitting busy variable
int getGetOp()
method to return the transmitting power
int getTxBusy()
method to return the transmitting power
ClMsgUwPhyTxPwr should be and used to ask either to set or get the transmitting power of a specific p...
void setPower(double powr)
method to set the transmitting power
double getPower()
method to return the transmitting power
virtual ~ClMsgUwPhyTxPwr()
Destructor of the ClMsgUwPhyTxPwr class.
ClMsgUwPhyTxPwr()
Broadcast constructor of the ClMsgUwPhyTxPwr class.
ClMsgUwPhy should be extended and used to ask to set or get a parameter of a specific phy.
Definition uwphy-clmsg.h:63
ClMsgUwPhy(ClMessage_t type)
Broadcast constructor of the ClMsgUwPhy class.
ReqType req_type
virtual ClMsgUwPhy * copy()
Copy method of the ClMsgUwPhy class, the specialization of the return value is intentional and it is ...
void setReqType(ReqType type)
method to set the request type
virtual ~ClMsgUwPhy()
Destructor of the ClMsgUwPhy class.
ReqType getReqType()
method to return the request type
Definition of ClMsgUwMmac class.
#define CLMSG_UWPHY_STACK_ID_NOT_VALID
Definition uwphy-clmsg.h:50
#define CLMSG_UWPHY_VERBOSITY
Definition uwphy-clmsg.h:44