Fix pdschRxdataF_comp phy scope data source

pdschRxdataF_comp data source was handled incorrectly. Each symbol entire slot data was copied. This
caused pdschRxdataF_comp to mostly contain zeros. The call to UEscopeCopy was moved from symbol loop
into last symbol processing. In case imscope is used padding and unused REs are not copied to the
sink.

Added checks inside scope functions to ensure correct functionality.
This commit is contained in:
Bartosz Podrygajlo
2024-09-05 15:19:37 +02:00
parent 70dd524e2b
commit 8eb9e3d902
3 changed files with 46 additions and 1 deletions
+19
View File
@@ -154,6 +154,25 @@ void copyData(void *, enum scopeDataType type, void *dataIn, int elementSz, int
scope_data->unlockScopeData(type); \
}
#define UEScopeHasTryLock(ue) \
(ue->scopeData && ((scopeData_t *)ue->scopeData)->tryLockScopeData)
#define UETryLockScopeData(ue, type, ...) \
ue->scopeData && ((scopeData_t *)ue->scopeData)->tryLockScopeData \
&& ((scopeData_t *)ue->scopeData)->tryLockScopeData(type, ##__VA_ARGS__)
#define UEscopeCopyUnsafe(ue, type, ...) \
scopeData_t *scope_data = (scopeData_t *)ue->scopeData; \
if (scope_data && scope_data->copyDataUnsafeWithOffset) { \
scope_data->copyDataUnsafeWithOffset(type, ##__VA_ARGS__); \
}
#define UEunlockScopeData(ue, type) \
scopeData_t *scope_data = (scopeData_t *)ue->scopeData; \
if (scope_data && scope_data->unlockScopeData) { \
scope_data->unlockScopeData(type); \
}
extended_kpi_ue* getKPIUE();
#endif