Files
Robert Schmidt 8107939f08 Change OAI license to CSSL v1.0 (and others)
- all RAN code, CI code, configuration files, dockerfiles, in CSSL v1.0
- all deployment code (openshift, charts, ancillary files like shell
  scripts), in MIT
- documentation in CC-BY-4.0
- exceptions might apply and are listed in NOTICE
- there is a new LICENSES folder with all licenses
- CONTRIBUTIONS.md has been updated accordingly

For automated changes based on OAI PL v1.1:

    perl -i~ -0pe 's/\/\*.*Licensed to the OpenAirInterface.*openairinterface.org\n#?/\/*\n * SPDX-License-Identifier: LicenseRef-CSSL-1.0\n/s' **/*.{c,h,cpp}
    perl -i~ -0pe 's/\/\*.*Licensed to the OpenAirInterface.*openairinterface.org\n#?/\/*\n * SPDX-License-Identifier: LicenseRef-CSSL-1.0\n/s' **/*.ts
    perl -i~ -0pe 's/<!--.*Licensed to the OpenAirInterface.*openairinterface.org\n.*-->/<!-- SPDX-License-Identifier: LicenseRef-CSSL-1.0 -->/s' **/*.xml

The rest (cmake, files with missing license, cmake) manually.
2026-03-27 16:36:37 +01:00

147 lines
3.2 KiB
C

/*
* SPDX-License-Identifier: LicenseRef-CSSL-1.0
*/
/*!
* \brief Defines the debugging functions
*/
#ifndef __NR_LDPC_DEBUG__H__
#define __NR_LDPC_DEBUG__H__
#include <stdio.h>
/**
Enum with possible LDPC data buffers
*/
typedef enum nrLDPC_buffers {
nrLDPC_buffers_LLR_PROC, /**< LLR processing buffer */
nrLDPC_buffers_CN_PROC, /**< CN processing buffer */
nrLDPC_buffers_CN_PROC_RES, /**< CN processing results buffer */
nrLDPC_buffers_BN_PROC, /**< BN processing buffer */
nrLDPC_buffers_BN_PROC_RES, /**< BN processing results buffer */
nrLDPC_buffers_LLR_RES /**< LLR results buffer */
} e_nrLDPC_buffers;
/**
\brief Writes N data samples to a file
\param fileName Name of the file
\param p_data Pointer to the data
\param N Number of values to write
*/
static inline void nrLDPC_writeFile(const char* fileName, int8_t* p_data, const uint32_t N)
{
FILE *f;
uint32_t i;
f = fopen(fileName, "a");
// Newline indicating new data
fprintf(f, "\n");
for (i=0; i < N; i++)
{
fprintf(f, "%d, ", p_data[i]);
}
fclose(f);
}
/**
\brief Creates empty new file
\param fileName Name of the file
*/
static inline void nrLDPC_initFile(const char* fileName)
{
FILE *f;
f = fopen(fileName, "w");
fprintf(f, " ");
fclose(f);
}
/**
\brief Writes data of predefined buffers to file
\param buffer Enum of buffer name to write
*/
static inline void nrLDPC_debug_writeBuffer2File(e_nrLDPC_buffers buffer, int8_t* p_buffer)
{
switch (buffer)
{
case nrLDPC_buffers_LLR_PROC:
{
nrLDPC_writeFile("llrProcBuf.txt", p_buffer, NR_LDPC_MAX_NUM_LLR);
break;
}
case nrLDPC_buffers_CN_PROC:
{
nrLDPC_writeFile("cnProcBuf.txt", p_buffer, NR_LDPC_SIZE_CN_PROC_BUF);
break;
}
case nrLDPC_buffers_CN_PROC_RES:
{
nrLDPC_writeFile("cnProcBufRes.txt", p_buffer, NR_LDPC_SIZE_CN_PROC_BUF);
break;
}
case nrLDPC_buffers_BN_PROC:
{
nrLDPC_writeFile("bnProcBuf.txt", p_buffer, NR_LDPC_SIZE_BN_PROC_BUF);
break;
}
case nrLDPC_buffers_BN_PROC_RES:
{
nrLDPC_writeFile("bnProcBufRes.txt", p_buffer, NR_LDPC_SIZE_BN_PROC_BUF);
break;
}
case nrLDPC_buffers_LLR_RES:
{
nrLDPC_writeFile("llrRes.txt", p_buffer, NR_LDPC_MAX_NUM_LLR);
break;
}
}
}
/**
\brief Initializes file for writing a buffer
\param buffer Enum of buffer name to write
*/
static inline void nrLDPC_debug_initBuffer2File(e_nrLDPC_buffers buffer)
{
switch (buffer)
{
case nrLDPC_buffers_LLR_PROC:
{
nrLDPC_initFile("llrProcBuf.txt");
break;
}
case nrLDPC_buffers_CN_PROC:
{
nrLDPC_initFile("cnProcBuf.txt");
break;
}
case nrLDPC_buffers_CN_PROC_RES:
{
nrLDPC_initFile("cnProcBufRes.txt");
break;
}
case nrLDPC_buffers_BN_PROC:
{
nrLDPC_initFile("bnProcBuf.txt");
break;
}
case nrLDPC_buffers_BN_PROC_RES:
{
nrLDPC_initFile("bnProcBufRes.txt");
break;
}
case nrLDPC_buffers_LLR_RES:
{
nrLDPC_initFile("llrRes.txt");
break;
}
}
}
#endif