Skip to content

Commit

Permalink
Version 0.19.1: Added support for all ID types for the mobile identit…
Browse files Browse the repository at this point in the history
…y IE in MME, added support for more PDU types in PDCP, added defines for sizes of fixed arrays in LIBLTE_PHY_STRUCT, fixed the order of sizes for rate match and unmatch arrays in LIBLTE_PHY_STRUCT (thanks to Ziming He), added return values for liblte_phy_get_n_cce (thanks to Damian Jarek) and liblte_rlc_unpack_status_pdu (thanks to Mikhail Gudkov) in the LTE library, added a scoped lock RAII class for sem_t and pthread_mutex_t in the tools library, changed from using boost::mutex to pthread_mutex_t and_sem_t throughout, added helper functions in MAC, changed user deletion and C-RNTI release procedures, properly initializing SIB scheduling info, properly construct MNC (thanks to Mikhail Gudkov), fixed an issue with RTS response in MAC, properly initialized PHY allocation structure in MAC (thanks to Markus Grab), fixed the updating of VT(A) in the RLC retransmission buffer, and changed the QoS parameters for default data in LTE_fdd_enodeb.
  • Loading branch information
Ben Wojtowicz committed Dec 6, 2015
1 parent 7032f8c commit 46e2700
Show file tree
Hide file tree
Showing 171 changed files with 1,574 additions and 816 deletions.
Empty file modified AUTHORS
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion CMakeLists.txt
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
########################################################################
cmake_minimum_required(VERSION 2.6)
project(openLTE CXX C)
set(openLTE_version 0.19.0)
set(openLTE_version 0.19.1)
enable_testing()

#select the release build type by default to get optimization flags
Expand Down
Empty file modified COPYING
100644 → 100755
Empty file.
15 changes: 15 additions & 0 deletions ChangeLog
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -195,3 +195,18 @@ v00.19.00 Removed rb_id from all MME pack routines (thanks to Przemek for fi
changed the default timer alignment timer to 10240 subframes, removed
boost::lexical_casts from HSS, moved the dedicated bearer QoS to 9, and
moved DRBs to RLC AMD mode in LTE_fdd_enodeb.
v00.19.01 Added support for all ID types for the mobile identity IE in MME, added
support for more PDU types in PDCP, added defines for sizes of fixed
arrays in LIBLTE_PHY_STRUCT, fixed the order of sizes for rate match
and unmatch arrays in LIBLTE_PHY_STRUCT (thanks to Ziming He), added
return values for liblte_phy_get_n_cce (thanks to Damian Jarek) and
liblte_rlc_unpack_status_pdu (thanks to Mikhail Gudkov) in the LTE
library, added a scoped lock RAII class for sem_t and pthread_mutex_t
in the tools library, changed from using boost::mutex to pthread_mutex_t
and_sem_t throughout, added helper functions in MAC, changed user
deletion and C-RNTI release procedures, properly initializing SIB
scheduling info, properly construct MNC (thanks to Mikhail Gudkov),
fixed an issue with RTS response in MAC, properly initialized PHY
allocation structure in MAC (thanks to Markus Grab), fixed the updating
of VT(A) in the RLC retransmission buffer, and changed the QoS parameters
for default data in LTE_fdd_enodeb.
Empty file modified LTE_fdd_dl_file_gen/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified LTE_fdd_dl_file_gen/hdr/LTE_fdd_dl_fg_api.h
100644 → 100755
Empty file.
Empty file modified LTE_fdd_dl_file_gen/hdr/LTE_fdd_dl_fg_samp_buf.h
100644 → 100755
Empty file.
Empty file modified LTE_fdd_dl_file_gen/python/LTE_fdd_dl_file_gen.py
100644 → 100755
Empty file.
Empty file modified LTE_fdd_dl_file_gen/src/LTE_fdd_dl_fg.i
100644 → 100755
Empty file.
Empty file modified LTE_fdd_dl_file_gen/src/LTE_fdd_dl_fg_samp_buf.cc
100644 → 100755
Empty file.
Empty file modified LTE_fdd_dl_file_gen/src/__init__.py
100644 → 100755
Empty file.
Empty file modified LTE_fdd_dl_file_scan/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified LTE_fdd_dl_file_scan/hdr/LTE_fdd_dl_fs_api.h
100644 → 100755
Empty file.
Empty file modified LTE_fdd_dl_file_scan/hdr/LTE_fdd_dl_fs_samp_buf.h
100644 → 100755
Empty file.
Empty file modified LTE_fdd_dl_file_scan/python/LTE_fdd_dl_file_scan.py
100644 → 100755
Empty file.
Empty file modified LTE_fdd_dl_file_scan/src/LTE_fdd_dl_fs.i
100644 → 100755
Empty file.
Empty file modified LTE_fdd_dl_file_scan/src/LTE_fdd_dl_fs_samp_buf.cc
100644 → 100755
Empty file.
Empty file modified LTE_fdd_dl_file_scan/src/__init__.py
100644 → 100755
Empty file.
Empty file modified LTE_fdd_dl_scan/CMakeLists.txt
100644 → 100755
Empty file.
8 changes: 4 additions & 4 deletions LTE_fdd_dl_scan/hdr/LTE_fdd_dl_scan_flowgraph.h
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
12/16/2014 Ben Wojtowicz Pulled in a patch from Ruben Merz to add
USRP X300 support.
03/11/2015 Ben Wojtowicz Added UmTRX support.
12/06/2015 Ben Wojtowicz Changed boost::mutex to pthread_mutex_t.
*******************************************************************************/

Expand All @@ -46,7 +47,6 @@

#include "LTE_fdd_dl_scan_interface.h"
#include "LTE_fdd_dl_scan_state_machine.h"
#include <boost/thread/mutex.hpp>
#include <gnuradio/top_block.h>
#include <gnuradio/filter/rational_resampler_base_ccf.h>
#include <gnuradio/filter/firdes.h>
Expand Down Expand Up @@ -110,9 +110,9 @@ class LTE_fdd_dl_scan_flowgraph
osmosdr::source::sptr samp_src;
LTE_fdd_dl_scan_state_machine_sptr state_machine;

pthread_t start_thread;
boost::mutex start_mutex;
bool started;
pthread_t start_thread;
pthread_mutex_t start_mutex;
bool started;
};

#endif /* __LTE_FDD_DL_SCAN_FLOWGRAPH_H__ */
8 changes: 4 additions & 4 deletions LTE_fdd_dl_scan/hdr/LTE_fdd_dl_scan_interface.h
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*******************************************************************************
Copyright 2013-2014 Ben Wojtowicz
Copyright 2013-2015 Ben Wojtowicz
Copyright 2014 Andrew Murphy (SIB13 printing)
This program is free software: you can redistribute it and/or modify
Expand Down Expand Up @@ -29,6 +29,7 @@
07/21/2013 Ben Wojtowicz Added support for decoding SIBs.
06/15/2014 Ben Wojtowicz Added PCAP support.
09/19/2014 Andrew Murphy Added SIB13 printing.
12/06/2015 Ben Wojtowicz Changed boost::mutex to pthread_mutex_t.
*******************************************************************************/

Expand All @@ -42,7 +43,6 @@
#include "liblte_interface.h"
#include "liblte_rrc.h"
#include "libtools_socket_wrap.h"
#include <boost/thread/mutex.hpp>
#include <string>

/*******************************************************************************
Expand Down Expand Up @@ -106,7 +106,7 @@ class LTE_fdd_dl_scan_interface
static void handle_ctrl_connect(void);
static void handle_ctrl_disconnect(void);
static void handle_ctrl_error(LIBTOOLS_SOCKET_WRAP_ERROR_ENUM err);
boost::mutex ctrl_mutex;
pthread_mutex_t ctrl_mutex;
FILE *pcap_fd;
libtools_socket_wrap *ctrl_socket;
int16 ctrl_port;
Expand Down Expand Up @@ -142,7 +142,7 @@ class LTE_fdd_dl_scan_interface
void write_enable_pcap(std::string enable_pcap_str);

// Variables
boost::mutex dl_earfcn_list_mutex;
pthread_mutex_t dl_earfcn_list_mutex;
LIBLTE_INTERFACE_BAND_ENUM band;
uint16 current_dl_earfcn;
uint16 dl_earfcn_list[65535];
Expand Down
Empty file modified LTE_fdd_dl_scan/hdr/LTE_fdd_dl_scan_state_machine.h
100644 → 100755
Empty file.
Empty file modified LTE_fdd_dl_scan/hdr/LTE_fdd_dl_scan_state_machine_api.h
100644 → 100755
Empty file.
24 changes: 14 additions & 10 deletions LTE_fdd_dl_scan/src/LTE_fdd_dl_scan_flowgraph.cc
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
12/16/2014 Ben Wojtowicz Pulled in a patch from Ruben Merz to add
USRP X300 support.
03/11/2015 Ben Wojtowicz Added UmTRX support.
12/06/2015 Ben Wojtowicz Changed boost::mutex to pthread_mutex_t.
*******************************************************************************/

Expand All @@ -45,6 +46,7 @@
*******************************************************************************/

#include "LTE_fdd_dl_scan_flowgraph.h"
#include "libtools_scoped_lock.h"
#include "uhd/usrp/multi_usrp.hpp"

/*******************************************************************************
Expand All @@ -62,7 +64,7 @@
*******************************************************************************/

LTE_fdd_dl_scan_flowgraph* LTE_fdd_dl_scan_flowgraph::instance = NULL;
boost::mutex flowgraph_instance_mutex;
static pthread_mutex_t flowgraph_instance_mutex = PTHREAD_MUTEX_INITIALIZER;

/*******************************************************************************
CLASS IMPLEMENTATIONS
Expand All @@ -71,7 +73,7 @@ boost::mutex flowgraph_instance_mutex;
// Singleton
LTE_fdd_dl_scan_flowgraph* LTE_fdd_dl_scan_flowgraph::get_instance(void)
{
boost::mutex::scoped_lock lock(flowgraph_instance_mutex);
libtools_scoped_lock lock(flowgraph_instance_mutex);

if(NULL == instance)
{
Expand All @@ -82,7 +84,7 @@ LTE_fdd_dl_scan_flowgraph* LTE_fdd_dl_scan_flowgraph::get_instance(void)
}
void LTE_fdd_dl_scan_flowgraph::cleanup(void)
{
boost::mutex::scoped_lock lock(flowgraph_instance_mutex);
libtools_scoped_lock lock(flowgraph_instance_mutex);

if(NULL != instance)
{
Expand All @@ -94,29 +96,31 @@ void LTE_fdd_dl_scan_flowgraph::cleanup(void)
// Constructor/Destructor
LTE_fdd_dl_scan_flowgraph::LTE_fdd_dl_scan_flowgraph()
{
pthread_mutex_init(&start_mutex, NULL);
started = false;
}
LTE_fdd_dl_scan_flowgraph::~LTE_fdd_dl_scan_flowgraph()
{
boost::mutex::scoped_lock lock(start_mutex);
libtools_scoped_lock lock(start_mutex);

if(started)
{
start_mutex.unlock();
pthread_mutex_unlock(&start_mutex);
stop();
}
pthread_mutex_destroy(&start_mutex);
}

// Flowgraph
bool LTE_fdd_dl_scan_flowgraph::is_started(void)
{
boost::mutex::scoped_lock lock(start_mutex);
libtools_scoped_lock lock(start_mutex);

return(started);
}
LTE_FDD_DL_SCAN_STATUS_ENUM LTE_fdd_dl_scan_flowgraph::start(uint16 dl_earfcn)
{
boost::mutex::scoped_lock lock(start_mutex);
libtools_scoped_lock lock(start_mutex);
LTE_fdd_dl_scan_interface *interface = LTE_fdd_dl_scan_interface::get_instance();
uhd::device_addr_t hint;
LTE_FDD_DL_SCAN_STATUS_ENUM err = LTE_FDD_DL_SCAN_STATUS_FAIL;
Expand Down Expand Up @@ -324,13 +328,13 @@ LTE_FDD_DL_SCAN_STATUS_ENUM LTE_fdd_dl_scan_flowgraph::start(uint16 dl_earfcn)
}
LTE_FDD_DL_SCAN_STATUS_ENUM LTE_fdd_dl_scan_flowgraph::stop(void)
{
boost::mutex::scoped_lock lock(start_mutex);
libtools_scoped_lock lock(start_mutex);
LTE_FDD_DL_SCAN_STATUS_ENUM err = LTE_FDD_DL_SCAN_STATUS_FAIL;

if(started)
{
started = false;
start_mutex.unlock();
pthread_mutex_unlock(&start_mutex);
sleep(1); // Wait for state_machine to exit
pthread_cancel(start_thread);
pthread_join(start_thread, NULL);
Expand All @@ -342,7 +346,7 @@ LTE_FDD_DL_SCAN_STATUS_ENUM LTE_fdd_dl_scan_flowgraph::stop(void)
}
void LTE_fdd_dl_scan_flowgraph::update_center_freq(uint16 dl_earfcn)
{
boost::mutex::scoped_lock lock(start_mutex);
libtools_scoped_lock lock(start_mutex);

if(started &&
NULL != samp_src.get())
Expand Down
Loading

0 comments on commit 46e2700

Please sign in to comment.