Merge branch 'next' into next_mimo

master
Xavier Arteaga 7 years ago
commit 4007a15581

@ -34,6 +34,17 @@
namespace srslte { namespace srslte {
class srslte_nas_config_t
{
public:
srslte_nas_config_t(uint32_t lcid_ = 0)
:lcid(lcid_)
{}
uint32_t lcid;
};
class srslte_pdcp_config_t class srslte_pdcp_config_t
{ {
public: public:

@ -48,13 +48,13 @@
// The constant SRSLTE_TDEC_NPAR defines the maximum number of parallel CB supported by all SIMD decoders // The constant SRSLTE_TDEC_NPAR defines the maximum number of parallel CB supported by all SIMD decoders
#ifdef ENABLE_SIMD_INTER #ifdef ENABLE_SIMD_INTER
#include "srslte/phy/fec/turbodecoder_simd_inter.h" #include "srslte/phy/fec/turbodecoder_simd_inter.h"
#if LV_HAVE_AVX2 #ifdef LV_HAVE_AVX2
#define SRSLTE_TDEC_NPAR_INTRA 2 #define SRSLTE_TDEC_NPAR_INTRA 2
#else #else
#define SRSLTE_TDEC_NPAR_INTRA 1 #define SRSLTE_TDEC_NPAR_INTRA 1
#endif #endif
#else #else
#if LV_HAVE_AVX2 #ifdef LV_HAVE_AVX2
#define SRSLTE_TDEC_NPAR 2 #define SRSLTE_TDEC_NPAR 2
#else #else
#define SRSLTE_TDEC_NPAR 1 #define SRSLTE_TDEC_NPAR 1

@ -2006,6 +2006,7 @@ LIBLTE_ERROR_ENUM liblte_rrc_pack_meas_object_eutra_ie(LIBLTE_RRC_MEAS_OBJECT_EU
liblte_value_2_bits(0, ie_ptr, 1); liblte_value_2_bits(0, ie_ptr, 1);
// Optional indicators // Optional indicators
liblte_value_2_bits(meas_obj_eutra->offset_freq_not_default, ie_ptr, 1);
liblte_value_2_bits(meas_obj_eutra->cells_to_remove_list_present, ie_ptr, 1); liblte_value_2_bits(meas_obj_eutra->cells_to_remove_list_present, ie_ptr, 1);
if(0 != meas_obj_eutra->N_cells_to_add_mod) if(0 != meas_obj_eutra->N_cells_to_add_mod)
{ {
@ -2035,7 +2036,10 @@ LIBLTE_ERROR_ENUM liblte_rrc_pack_meas_object_eutra_ie(LIBLTE_RRC_MEAS_OBJECT_EU
liblte_rrc_pack_neigh_cell_config_ie(meas_obj_eutra->neigh_cell_cnfg, ie_ptr); liblte_rrc_pack_neigh_cell_config_ie(meas_obj_eutra->neigh_cell_cnfg, ie_ptr);
// Offset Freq // Offset Freq
if(meas_obj_eutra->offset_freq_not_default)
{
liblte_rrc_pack_q_offset_range_ie(meas_obj_eutra->offset_freq, ie_ptr); liblte_rrc_pack_q_offset_range_ie(meas_obj_eutra->offset_freq, ie_ptr);
}
// Cells To Remove List // Cells To Remove List
if(meas_obj_eutra->cells_to_remove_list_present) if(meas_obj_eutra->cells_to_remove_list_present)
@ -2329,6 +2333,9 @@ LIBLTE_ERROR_ENUM liblte_rrc_pack_meas_object_to_add_mod_list_ie(LIBLTE_RRC_MEAS
// Meas Object ID // Meas Object ID
liblte_rrc_pack_meas_object_id_ie(list->meas_obj_list[i].meas_obj_id, ie_ptr); liblte_rrc_pack_meas_object_id_ie(list->meas_obj_list[i].meas_obj_id, ie_ptr);
// Meas Object Choice Extension
liblte_value_2_bits(0, ie_ptr, 1); // Choice from before extension marker
// Meas Object Choice // Meas Object Choice
liblte_value_2_bits(list->meas_obj_list[i].meas_obj_type, ie_ptr, 2); liblte_value_2_bits(list->meas_obj_list[i].meas_obj_type, ie_ptr, 2);

@ -328,6 +328,9 @@ void srslte_tdec_gen_iteration(srslte_tdec_gen_t * h, float * input, uint32_t lo
} else { } else {
fprintf(stderr, "Error CB index not set (call srslte_tdec_gen_reset() first\n"); fprintf(stderr, "Error CB index not set (call srslte_tdec_gen_reset() first\n");
} }
// Increase number of iterations
h->n_iter++;
} }
int srslte_tdec_gen_reset(srslte_tdec_gen_t * h, uint32_t long_cb) int srslte_tdec_gen_reset(srslte_tdec_gen_t * h, uint32_t long_cb)
@ -339,6 +342,7 @@ int srslte_tdec_gen_reset(srslte_tdec_gen_t * h, uint32_t long_cb)
} }
memset(h->w, 0, sizeof(float) * long_cb); memset(h->w, 0, sizeof(float) * long_cb);
h->current_cbidx = srslte_cbsegm_cbindex(long_cb); h->current_cbidx = srslte_cbsegm_cbindex(long_cb);
h->current_cb_len = long_cb;
if (h->current_cbidx < 0) { if (h->current_cbidx < 0) {
fprintf(stderr, "Invalid CB length %d\n", long_cb); fprintf(stderr, "Invalid CB length %d\n", long_cb);
return -1; return -1;

@ -447,7 +447,6 @@ int rf_soapy_send_timed(void *h,
rf_soapy_handler_t *handler = (rf_soapy_handler_t*) h; rf_soapy_handler_t *handler = (rf_soapy_handler_t*) h;
timeNs = secs * 1000000000; timeNs = secs * 1000000000;
timeNs = timeNs + (frac_secs * 1000000000); timeNs = timeNs + (frac_secs * 1000000000);
int num_channels = 1;
int n = 0; int n = 0;
if(!handler->tx_stream_active){ if(!handler->tx_stream_active){

@ -66,7 +66,7 @@ public:
rrc_interface_nas *rrc_, rrc_interface_nas *rrc_,
gw_interface_nas *gw_, gw_interface_nas *gw_,
srslte::log *nas_log_, srslte::log *nas_log_,
uint32_t lcid_); srslte::srslte_nas_config_t cfg_);
void stop(); void stop();
emm_state_t get_state(); emm_state_t get_state();
@ -84,7 +84,7 @@ private:
rrc_interface_nas *rrc; rrc_interface_nas *rrc;
usim_interface_nas *usim; usim_interface_nas *usim;
gw_interface_nas *gw; gw_interface_nas *gw;
uint32_t default_lcid; srslte::srslte_nas_config_t cfg;
emm_state_t state; emm_state_t state;

@ -44,14 +44,14 @@ void nas::init(usim_interface_nas *usim_,
rrc_interface_nas *rrc_, rrc_interface_nas *rrc_,
gw_interface_nas *gw_, gw_interface_nas *gw_,
srslte::log *nas_log_, srslte::log *nas_log_,
uint32_t lcid_) srslte::srslte_nas_config_t cfg_)
{ {
pool = byte_buffer_pool::get_instance(); pool = byte_buffer_pool::get_instance();
usim = usim_; usim = usim_;
rrc = rrc_; rrc = rrc_;
gw = gw_; gw = gw_;
nas_log = nas_log_; nas_log = nas_log_;
default_lcid = lcid_; cfg = cfg_;
} }
void nas::stop() void nas::stop()
@ -574,7 +574,7 @@ void nas::send_attach_request()
liblte_mme_pack_attach_request_msg(&attach_req, (LIBLTE_BYTE_MSG_STRUCT*)msg); liblte_mme_pack_attach_request_msg(&attach_req, (LIBLTE_BYTE_MSG_STRUCT*)msg);
nas_log->info("Sending attach request\n"); nas_log->info("Sending attach request\n");
rrc->write_sdu(default_lcid, msg); rrc->write_sdu(cfg.lcid, msg);
} }
void nas::gen_pdn_connectivity_request(LIBLTE_BYTE_MSG_STRUCT *msg) void nas::gen_pdn_connectivity_request(LIBLTE_BYTE_MSG_STRUCT *msg)
@ -616,7 +616,7 @@ void nas::send_service_request()
uint8_t mac[4]; uint8_t mac[4];
integrity_generate(&k_nas_int[16], integrity_generate(&k_nas_int[16],
count_ul, count_ul,
default_lcid-1, cfg.lcid-1,
SECURITY_DIRECTION_UPLINK, SECURITY_DIRECTION_UPLINK,
&msg->msg[0], &msg->msg[0],
2, 2,
@ -627,7 +627,7 @@ void nas::send_service_request()
msg->msg[3] = mac[3]; msg->msg[3] = mac[3];
msg->N_bytes++; msg->N_bytes++;
nas_log->info("Sending service request\n"); nas_log->info("Sending service request\n");
rrc->write_sdu(default_lcid, msg); rrc->write_sdu(cfg.lcid, msg);
} }
void nas::send_esm_information_response(){} void nas::send_esm_information_response(){}

Loading…
Cancel
Save