• Cedric Roux's avatar
    Fix NFAPI integration · 3214e03a
    Cedric Roux authored
    This commit fixes issues introduced by the previous commit.
    
    Summary of work:
    - cleanup:
      - fix LOG_XX to be less verbose
      - fix cmake_targets/CMakeLists.txt
      - fix oaienv
      - remove dead code
    - bug fixes:
      - in openair1/SCHED/fapi_l1.c we had:
          eNB->pdcch_vars[subframe&1].num_dci           = number_dci;
        should be:
          eNB->pdcch_vars[subframe&1].num_dci           = 0;
        This bug let the PHY send more DCIs than what should have been
        sent because num_dci is incremented later on in the code.
        This fix may be a problem for fapi mode, to be checked.
      - add new T VCD traces
      - revert openair1/PHY/TOOLS/file_output.c to 'develop' version
      - remove thread_id in logRecord/logRecord_mt
      - revert (and adapt) configuration files
      - be careful when doing frame++, we need to % 1024
      - revert target_rx_power in openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
    - NFAPI:
      - the open-nFAPI code has been included in the repository. See nfapi/README.
        Maybe we should "git clone" the Cisco repository instead. We have to be
        careful of availability though.
    
    What has been tested:
    - monolithic eNB FDD 5/10MHz with one UE, iperf UDP/TCP uplink/downlink
    
    Anything else may fail to work, especially the FAPI mode, which has not
    been tested at all.
    3214e03a
debug.h 1.56 KB
/*
 * Copyright 2017 Cisco Systems, Inc.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


#ifndef _DEBUG_H_
#define _DEBUG_H_

/*! The trace levels used by the nfapi libraries */
typedef enum nfapi_trace_level
{
	NFAPI_TRACE_ERROR = 1,
	NFAPI_TRACE_WARN,
	NFAPI_TRACE_NOTE,
	NFAPI_TRACE_INFO,

	NFAPI_TRACE_LEVEL_MAX
} nfapi_trace_level_t;

/*! The trace function pointer */
typedef void (*nfapi_trace_fn_t)(nfapi_trace_level_t level, const char* format, ...);

/*! Global trace function */
extern nfapi_trace_fn_t nfapi_trace_g;

/*! Global trace level */
extern nfapi_trace_level_t nfapi_trace_level_g;

/*! NFAPI trace macro */
//#define NFAPI_TRACE(level, format, ...) { if(nfapi_trace_g && ((nfapi_trace_level_t)level <= nfapi_trace_level_g)) (*nfapi_trace_g)(level, format, ##__VA_ARGS__); }
#define NFAPI_TRACE(level, format, ...) { if (nfapi_trace_g) (*nfapi_trace_g)(level, format, ##__VA_ARGS__); }

/*! Function to change the trace level 
 * \param new_level The modified trace level
 */

void nfapi_set_trace_level(nfapi_trace_level_t new_level);

#endif /* _DEBUG_H_ */