Merge lp:~jan-ellenbeck/openwns-library/libwns-forIMTAphy into lp:openwns-library

Proposed by Jan
Status: Merged
Merged at revision: 239
Proposed branch: lp:~jan-ellenbeck/openwns-library/libwns-forIMTAphy
Merge into: lp:openwns-library
Diff against target: 289 lines (+231/-0)
7 files modified
config/libfiles.py (+6/-0)
src/geometry/Point.cpp (+7/-0)
src/geometry/Point.hpp (+2/-0)
src/service/phy/imta/ChannelStateInfo.hpp (+61/-0)
src/service/phy/imta/DataReception.hpp (+52/-0)
src/service/phy/imta/DataTransmission.hpp (+57/-0)
src/service/phy/imta/IMTAphyObserver.hpp (+46/-0)
To merge this branch: bzr merge lp:~jan-ellenbeck/openwns-library/libwns-forIMTAphy
Reviewer Review Type Date Requested Status
Maciej Muehleisen Approve
Review via email: mp+43814@code.launchpad.net

Description of the change

Added necessary interface for to-be released IMTAphy module. Note that the interface is still preliminary and is about to change once integration with LTE layer 2 progresses.

Also added a operator< method to wns::geometry::Point (which is aliased to wns::Position) that allows its use as a key in a std::map.

To post a comment you must log in.
Revision history for this message
Maciej Muehleisen (mue-comnets) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'config/libfiles.py'
2--- config/libfiles.py 2010-09-22 19:11:27 +0000
3+++ config/libfiles.py 2010-12-15 19:20:10 +0000
4@@ -947,6 +947,12 @@
5 'src/service/phy/ofdma/Measurements.hpp',
6 'src/service/phy/ofdma/Notification.hpp',
7 'src/service/phy/ofdma/Pattern.hpp',
8+
9+'src/service/phy/imta/ChannelStateInfo.hpp',
10+'src/service/phy/imta/DataReception.hpp',
11+'src/service/phy/imta/DataTransmission.hpp',
12+'src/service/phy/imta/IMTAphyObserver.hpp',
13+
14 'src/service/phy/phymode/MI2PERInterface.hpp',
15 'src/service/phy/phymode/PhyModeInterface.hpp',
16 'src/service/phy/phymode/PhyModeMapperInterface.hpp',
17
18=== modified file 'src/geometry/Point.cpp'
19--- src/geometry/Point.cpp 2009-01-10 23:22:05 +0000
20+++ src/geometry/Point.cpp 2010-12-15 19:20:10 +0000
21@@ -27,6 +27,7 @@
22
23 #include <WNS/Position.hpp>
24 #include <stdexcept>
25+#include <tr1/tuple>
26
27 using namespace std;
28 using namespace wns::geometry;
29@@ -193,4 +194,10 @@
30 return str;
31 }
32
33+bool
34+Point::operator<(const Point& other) const
35+{
36+ using std::tr1::tie;
37+ return tie(get()[0], get()[1], get()[2]) < tie(other.get()[0], other.get()[1], other.get()[2]);
38+}
39
40
41=== modified file 'src/geometry/Point.hpp'
42--- src/geometry/Point.hpp 2009-01-10 23:22:05 +0000
43+++ src/geometry/Point.hpp 2010-12-15 19:20:10 +0000
44@@ -105,6 +105,8 @@
45
46 bool
47 operator!=(const Point& other) const;
48+
49+ bool operator<(const Point& other) const;
50
51 friend std::ostream&
52 operator<<(std::ostream& str, const Point& point)
53
54=== added directory 'src/service/phy/imta'
55=== added file 'src/service/phy/imta/ChannelStateInfo.hpp'
56--- src/service/phy/imta/ChannelStateInfo.hpp 1970-01-01 00:00:00 +0000
57+++ src/service/phy/imta/ChannelStateInfo.hpp 2010-12-15 19:20:10 +0000
58@@ -0,0 +1,61 @@
59+/*******************************************************************************
60+ * This file is part of IMTAphy / openWNS
61+ * _____________________________________________________________________________
62+ *
63+ * Copyright (C) 2010
64+ * Institute of Communication Networks (LKN)
65+ * Department of Electrical Engineering and Information Technology (EE & IT)
66+ * Technische Universitaet Muenchen
67+ * Arcisstr. 21
68+ * 80333 Muenchen - Germany
69+ *
70+ * _____________________________________________________________________________
71+ *
72+ * IMTAphy is free software: you can redistribute it and/or modify
73+ * it under the terms of the GNU General Public License as published by
74+ * the Free Software Foundation, either version 3 of the License, or
75+ * (at your option) any later version.
76+ *
77+ * IMTAphy is distributed in the hope that it will be useful,
78+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
79+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
80+ * GNU General Public License for more details.
81+ *
82+ * You should have received a copy of the GNU General Public License
83+ * along with IMTAphy. If not, see <http://www.gnu.org/licenses/>.
84+ *
85+ ******************************************************************************/
86+
87+#ifndef WNS_SERVICE_PHY_CHANNELSTATEINFO_HPP
88+#define WNS_SERVICE_PHY_CHANNELSTATEINFO_HPP
89+
90+#include <WNS/RefCountable.hpp>
91+#include <WNS/service/phy/imta/IMTAphyObserver.hpp>
92+#include <WNS/PowerRatio.hpp>
93+#include <map>
94+
95+
96+namespace wns { namespace service { namespace phy { namespace imta {
97+
98+ typedef unsigned int PRB;
99+ typedef std::list<PRB> PRBList;
100+ typedef std::map<PRB, wns::Ratio> PRBMapdB;
101+ typedef std::map<PRB, wns::Power> PRBMapdBm;
102+
103+
104+ class ChannelStateInfo :
105+ public wns::RefCountable
106+ {
107+ public:
108+ PRBMapdB sinrs;
109+ PRBMapdBm rxPowers;
110+ };
111+
112+ typedef wns::SmartPtr<ChannelStateInfo> ChannelStateInfoPtr;
113+
114+ }
115+ }
116+ }
117+}
118+
119+#endif
120
121=== added file 'src/service/phy/imta/DataReception.hpp'
122--- src/service/phy/imta/DataReception.hpp 1970-01-01 00:00:00 +0000
123+++ src/service/phy/imta/DataReception.hpp 2010-12-15 19:20:10 +0000
124@@ -0,0 +1,52 @@
125+/*******************************************************************************
126+ * This file is part of IMTAphy / openWNS
127+ * _____________________________________________________________________________
128+ *
129+ * Copyright (C) 2010
130+ * Institute of Communication Networks (LKN)
131+ * Department of Electrical Engineering and Information Technology (EE & IT)
132+ * Technische Universitaet Muenchen
133+ * Arcisstr. 21
134+ * 80333 Muenchen - Germany
135+ *
136+ * _____________________________________________________________________________
137+ *
138+ * IMTAphy is free software: you can redistribute it and/or modify
139+ * it under the terms of the GNU General Public License as published by
140+ * the Free Software Foundation, either version 3 of the License, or
141+ * (at your option) any later version.
142+ *
143+ * IMTAphy is distributed in the hope that it will be useful,
144+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
145+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
146+ * GNU General Public License for more details.
147+ *
148+ * You should have received a copy of the GNU General Public License
149+ * along with IMTAphy. If not, see <http://www.gnu.org/licenses/>.
150+ *
151+ ******************************************************************************/
152+
153+#ifndef WNS_SERVICE_PHY_IMTA_DATARECEPTION_HPP
154+#define WNS_SERVICE_PHY_IMTA_DATARECEPTION_HPP
155+
156+#include <WNS/osi/PDU.hpp>
157+#include <WNS/SmartPtr.hpp>
158+#include <WNS/node/Interface.hpp>
159+#include <WNS/service/phy/imta/ChannelStateInfo.hpp>
160+
161+namespace wns { namespace service { namespace phy { namespace imta {
162+
163+ class DataReception :
164+ public virtual service::Service {
165+ public:
166+ virtual void onData(wns::osi::PDUPtr transportBlock,
167+ wns::node::Interface* source,
168+ wns::SmartPtr<ChannelStateInfo> csi) = 0;
169+
170+ };
171+
172+ }}}}
173+#endif
174+
175+
176+
177
178=== added file 'src/service/phy/imta/DataTransmission.hpp'
179--- src/service/phy/imta/DataTransmission.hpp 1970-01-01 00:00:00 +0000
180+++ src/service/phy/imta/DataTransmission.hpp 2010-12-15 19:20:10 +0000
181@@ -0,0 +1,57 @@
182+/*******************************************************************************
183+ * This file is part of IMTAphy / openWNS
184+ * _____________________________________________________________________________
185+ *
186+ * Copyright (C) 2010
187+ * Institute of Communication Networks (LKN)
188+ * Department of Electrical Engineering and Information Technology (EE & IT)
189+ * Technische Universitaet Muenchen
190+ * Arcisstr. 21
191+ * 80333 Muenchen - Germany
192+ *
193+ * _____________________________________________________________________________
194+ *
195+ * IMTAphy is free software: you can redistribute it and/or modify
196+ * it under the terms of the GNU General Public License as published by
197+ * the Free Software Foundation, either version 3 of the License, or
198+ * (at your option) any later version.
199+ *
200+ * IMTAphy is distributed in the hope that it will be useful,
201+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
202+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
203+ * GNU General Public License for more details.
204+ *
205+ * You should have received a copy of the GNU General Public License
206+ * along with IMTAphy. If not, see <http://www.gnu.org/licenses/>.
207+ *
208+ ******************************************************************************/
209+
210+#ifndef WNS_SERVICE_PHY_IMTA_DATATRANSMISSION_HPP
211+#define WNS_SERVICE_PHY_IMTA_DATATRANSMISSION_HPP
212+
213+#include <WNS/node/Node.hpp>
214+#include <WNS/PowerRatio.hpp>
215+#include <WNS/osi/PDU.hpp>
216+#include <WNS/service/Service.hpp>
217+#include <WNS/service/phy/imta/ChannelStateInfo.hpp>
218+#include <vector>
219+
220+namespace wns { namespace service { namespace phy { namespace imta {
221+
222+
223+
224+ class DataTransmission :
225+ public virtual service::Service {
226+ public:
227+ virtual void registerTransmission(wns::node::Interface* destination,
228+ // later:
229+ // - precoding (vector/matrix),
230+ // - phymode
231+ wns::Power txPower,
232+ wns::osi::PDUPtr transportBlock,
233+ PRBList transmitPRBs,
234+ unsigned int TTI) = 0;
235+ };
236+
237+ }}}}
238+#endif
239
240=== added file 'src/service/phy/imta/IMTAphyObserver.hpp'
241--- src/service/phy/imta/IMTAphyObserver.hpp 1970-01-01 00:00:00 +0000
242+++ src/service/phy/imta/IMTAphyObserver.hpp 2010-12-15 19:20:10 +0000
243@@ -0,0 +1,46 @@
244+/*******************************************************************************
245+ * This file is part of IMTAphy / openWNS
246+ * _____________________________________________________________________________
247+ *
248+ * Copyright (C) 2010
249+ * Institute of Communication Networks (LKN)
250+ * Department of Electrical Engineering and Information Technology (EE & IT)
251+ * Technische Universitaet Muenchen
252+ * Arcisstr. 21
253+ * 80333 Muenchen - Germany
254+ *
255+ * _____________________________________________________________________________
256+ *
257+ * IMTAphy is free software: you can redistribute it and/or modify
258+ * it under the terms of the GNU General Public License as published by
259+ * the Free Software Foundation, either version 3 of the License, or
260+ * (at your option) any later version.
261+ *
262+ * IMTAphy is distributed in the hope that it will be useful,
263+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
264+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
265+ * GNU General Public License for more details.
266+ *
267+ * You should have received a copy of the GNU General Public License
268+ * along with IMTAphy. If not, see <http://www.gnu.org/licenses/>.
269+ *
270+ ******************************************************************************/
271+
272+#ifndef WNS_SERVICE_PHY_IMTA_IMTAPHYOBSERVER_HPP
273+#define WNS_SERVICE_PHY_IMTA_IMTAPHYOBSERVER_HPP
274+
275+#include <WNS/osi/PDU.hpp>
276+#include <WNS/SmartPtr.hpp>
277+
278+namespace wns { namespace service { namespace phy { namespace imta {
279+
280+class IMTAphyObserver
281+{
282+ public:
283+ virtual void onNewTTI(unsigned int ttiNumber) = 0;
284+};
285+
286+}}}}
287+
288+#endif
289+

Subscribers

People subscribed via source and target branches

to status/vote changes: