Commit 131acccf authored by Cedric Roux's avatar Cedric Roux

FAPI 1.0.0 integrated

From IS-wireless, plus modifications to the code.
Note that MAX_NUM_CCs is forced to 2 in the ff-* files.
parent fbaf89af
......@@ -261,7 +261,6 @@ void rx_sdu(
#if FAPI
fapi_interface_t *fapi = eNB->fapi;
struct SchedDlMacBufferReqParameters p;
struct MacCeDlListElement_s ce;
#if 0
struct CschedLcConfigReqParameters lc;
struct LogicalChannelConfigListElement_s lc0;
......@@ -270,12 +269,9 @@ void rx_sdu(
/* inform FAPI that we want to send contention resolution Control Element */
p.rnti = eNB->common_channels[CC_idP].RA_template[ii].rnti;
p.nr_macCEDL_List = 1;
p.macCeDlList = &ce;
p.ceBitmap = ff_CR;
p.nr_vendorSpecificList = 0;
p.vendorSpecificList = NULL;
ce.rnti = eNB->common_channels[CC_idP].RA_template[ii].rnti;
ce.macCeType = ff_CR;
SchedDlMacBufferReq(fapi->sched, &p);
#if 0
......
#ifndef FF_MAC_CALLBACK_H
#define FF_MAC_CALLBACK_H
/*!
* @ingroup _fapi
/**
* @file ff-mac-callback.h
* @brief Implementation of the Femto Forum LTE MAC Scheduler Interface Specification v1.11 with extensions.
* @details Contains definitions of function callback types, that the scheduler may call upon the MAC.
* @author Florian Kaltenberger, Maciej Wewior
* @date March 2015
* @email: florian.kaltenberger@eurecom.fr, m.wewior@is-wireless.com
* @ingroup _mac
*/
#ifndef FF_MAC_CALLBACK_H
#define FF_MAC_CALLBACK_H
#if defined (__cplusplus)
extern "C" {
#endif
/* these are the callback function types from the scheduler to openair */
/* sched */
typedef void (SchedDlConfigInd_callback_t)(void *callback_data, const struct SchedDlConfigIndParameters *params);
typedef void (SchedUlConfigInd_callback_t)(void *callback_data, const struct SchedUlConfigIndParameters *params);
//CSCHED SAP scheduler->MAC primitives
/* csched */
/**
* Cell configuration and scheduler configuration applied.
* @param callback_data Callback data pointer provided in SchedInit()
* @param params Cell configuration result
*/
typedef void (CschedCellConfigCnf_callback_t)(void *callback_data, const struct CschedCellConfigCnfParameters *params);
/**
* UE specific configuration applied.
* @param callback_data Callback data pointer provided in SchedInit()
* @param params UE configuration result
*/
typedef void (CschedUeConfigCnf_callback_t)(void *callback_data, const struct CschedUeConfigCnfParameters *params);
/**
* Logical channel configuration applied.
* @param callback_data Callback data pointer provided in SchedInit()
* @param params LC configuration result
*/
typedef void (CschedLcConfigCnf_callback_t)(void *callback_data, const struct CschedLcConfigCnfParameters *params);
/**
* Logical Channel specific configuration removed.
* @param callback_data Callback data pointer provided in SchedInit()
* @param params Logical channel release result
*/
typedef void (CschedLcReleaseCnf_callback_t)(void *callback_data, const struct CschedLcReleaseCnfParameters *params);
/**
* UE specific configuration removed.
* @param callback_data Callback data pointer provided in SchedInit()
* @param params UE release result
*/
typedef void (CschedUeReleaseCnf_callback_t)(void *callback_data, const struct CschedUeReleaseCnfParameters *params);
/**
* Update of UE specific parameters from MAC scheduler to RRC.
* @param callback_data Callback data pointer provided in SchedInit()
* @param params UE configuration update parameters
*/
typedef void (CschedUeConfigUpdateInd_callback_t)(void *callback_data, const struct CschedUeConfigUpdateIndParameters *params);
/**
* Update of cell configuration from MAC scheduler to RRC.
* @param callback_data Callback data pointer provided in SchedInit()
* @param params Cell configuration update parameters
*/
typedef void (CschedCellConfigUpdateInd_callback_t)(void *callback_data, const struct CschedCellConfigUpdateIndParameters *params);
//SCHED SAP scheduler->MAC primitives
/**
* Passes the DL scheduling decision to MAC, triggers building of DL MAC PDUs and Subframe Configuration.
* @param callback_data Callback data pointer provided in SchedInit()
* @param params DL scheduling decision
*/
typedef void (SchedDlConfigInd_callback_t)(void *callback_data, const struct SchedDlConfigIndParameters *params);
/**
* Passes the UL scheduling decision (Format 0 DCIs)to MAC.
* @param callback_data Callback data pointer provided in SchedInit()
* @param params UL scheduling decision
*/
typedef void (SchedUlConfigInd_callback_t)(void *callback_data, const struct SchedUlConfigIndParameters *params);
#if defined (__cplusplus)
}
#endif
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -378,6 +378,7 @@ int mac_top_init(int eMBMS_active, char *uecap_xer, uint8_t cba_group_active, ui
p.nr_vendorSpecificList = 0;
l.puschHoppingOffset = conf->properties[i]->pusch_hoppingOffset[0];
l.NcellID = conf->properties[i]->Nid_cell[0];
l.hoppingMode = conf->properties[i]->pusch_hoppingMode[0];
l.nSb = conf->properties[i]->pusch_n_SB[0];
switch (conf->properties[i]->phich_resource[0]) {
......@@ -423,7 +424,7 @@ int mac_top_init(int eMBMS_active, char *uecap_xer, uint8_t cba_group_active, ui
}
l.subframeAssignment = conf->properties[i]->tdd_config[0];
l.specialSubframePatterns = conf->properties[i]->tdd_config_s[0];
#warning TODO: mbsfn stuff (when mbsfn_SubframeConfigPresent will be added to the structure CschedCellConfigReqParametersListElement)
l.mbsfn_SubframeConfigPresent = false;
l.prachConfigurationIndex = conf->properties[i]->prach_config_index[0];
l.prachFreqOffset = conf->properties[i]->prach_freq_offset[0];
l.raResponseWindowSize = conf->properties[i]->rach_raResponseWindowSize[0];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment