1. Update Dockerfile for CI build. But there is dependency on Intel System Studio...
[o-du/phy.git] / fhi_lib / app / src / sample-app.c
index 362fa5a..9b9e1d0 100644 (file)
@@ -32,7 +32,6 @@
 #include <sys/stat.h>\r
 #include <unistd.h>\r
 \r
-\r
 #include "common.h"\r
 #include "config.h"\r
 #include "xran_mlog_lnx.h"\r
@@ -1417,20 +1416,31 @@ int main(int argc, char *argv[])
         printf("set O-DU\n");\r
         xranInit.io_cfg.id = 0;/* O-DU */\r
         xranInit.io_cfg.core          = startupConfiguration.io_core;\r
-        xranInit.io_cfg.system_core   = 0;\r
-        xranInit.io_cfg.pkt_proc_core = startupConfiguration.io_core+1;\r
-        xranInit.io_cfg.pkt_aux_core  = 0; /* do not start*/\r
-        xranInit.io_cfg.timing_core   = startupConfiguration.io_core+2;\r
+        xranInit.io_cfg.system_core   = startupConfiguration.system_core;\r
+        xranInit.io_cfg.pkt_proc_core = startupConfiguration.pkt_proc_core;\r
+        xranInit.io_cfg.pkt_aux_core  = startupConfiguration.pkt_aux_core; /* do not start*/\r
+        xranInit.io_cfg.timing_core   = startupConfiguration.timing_core;\r
     } else {\r
         printf("set O-RU\n");\r
         xranInit.io_cfg.id = 1; /* O-RU*/\r
         xranInit.io_cfg.core          = startupConfiguration.io_core;\r
-        xranInit.io_cfg.system_core   = 0;\r
-        xranInit.io_cfg.pkt_proc_core = startupConfiguration.io_core+1;\r
-        xranInit.io_cfg.pkt_aux_core  = 0; /* do not start */\r
-        xranInit.io_cfg.timing_core   = startupConfiguration.io_core+2;\r
+        xranInit.io_cfg.system_core   = startupConfiguration.system_core;\r
+        xranInit.io_cfg.pkt_proc_core = startupConfiguration.pkt_proc_core;\r
+        xranInit.io_cfg.pkt_aux_core  = startupConfiguration.pkt_aux_core; /* do not start*/\r
+        xranInit.io_cfg.timing_core   = startupConfiguration.timing_core;\r
     }\r
 \r
+    cpu_set_t cpuset;\r
+    pthread_t thread;\r
+\r
+   thread = pthread_self();\r
+   CPU_ZERO(&cpuset);\r
+   CPU_SET(xranInit.io_cfg.system_core,&cpuset);\r
+   pthread_setaffinity_np(thread, sizeof(cpu_set_t), &cpuset);\r
+/*       if (s != 0)\r
+               handle_error_en(s, "pthread_setaffinity_np");\r
+*/\r
+\r
     xranInit.io_cfg.bbdev_mode = XRAN_BBDEV_NOT_USED;\r
 \r
     if(startupConfiguration.xranCat == XRAN_CATEGORY_A){\r
@@ -1460,7 +1470,7 @@ int main(int argc, char *argv[])
     xranInit.p_o_du_addr = (int8_t *)&startupConfiguration.o_du_addr;\r
     xranInit.p_o_ru_addr = (int8_t *)&startupConfiguration.o_ru_addr;\r
 \r
-    sprintf(prefix_name, "wls_%d",startupConfiguration.instance_id);\r
+    snprintf(prefix_name, sizeof(prefix_name), "wls_%d",startupConfiguration.instance_id);\r
     xranInit.filePrefix  = prefix_name;\r
 \r
     xranInit.totalBfWeights = startupConfiguration.totalBfWeights;\r
@@ -1664,14 +1674,14 @@ int main(int argc, char *argv[])
 \r
     for (i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {\r
 \r
-        sprintf(filename, "./logs/%s-play_ant%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"),  i);\r
+        snprintf(filename, sizeof(filename), "./logs/%s-play_ant%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"),  i);\r
         sys_save_buf_to_file_txt(filename,\r
                             "DL IFFT IN IQ Samples in human readable format",\r
                             (uint8_t*) p_tx_play_buffer[i],\r
                             tx_play_buffer_size[i],\r
                             1);\r
 \r
-        sprintf(filename, "./logs/%s-play_ant%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);\r
+        snprintf(filename, sizeof(filename),"./logs/%s-play_ant%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);\r
         sys_save_buf_to_file(filename,\r
                             "DL IFFT IN IQ Samples in binary format",\r
                             (uint8_t*) p_tx_play_buffer[i],\r
@@ -1680,14 +1690,14 @@ int main(int argc, char *argv[])
 \r
 \r
         if (startupConfiguration.appMode == APP_O_DU && startupConfiguration.xranCat == XRAN_CATEGORY_B){\r
-            sprintf(filename, "./logs/%s-dl_bfw_ue%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"),  i);\r
+            snprintf(filename, sizeof(filename),"./logs/%s-dl_bfw_ue%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"),  i);\r
             sys_save_buf_to_file_txt(filename,\r
                                 "DL Beamformig weights IQ Samples in human readable format",\r
                                 (uint8_t*) p_tx_dl_bfw_buffer[i],\r
                                 tx_dl_bfw_buffer_size[i],\r
                                 1);\r
 \r
-            sprintf(filename, "./logs/%s-dl_bfw_ue%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);\r
+            snprintf(filename, sizeof(filename),"./logs/%s-dl_bfw_ue%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);\r
             sys_save_buf_to_file(filename,\r
                                 "DL Beamformig weightsIQ Samples in binary format",\r
                                 (uint8_t*) p_tx_dl_bfw_buffer[i],\r
@@ -1695,14 +1705,14 @@ int main(int argc, char *argv[])
                                 sizeof(short));\r
 \r
 \r
-            sprintf(filename, "./logs/%s-ul_bfw_ue%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"),  i);\r
+            snprintf(filename, sizeof(filename), "./logs/%s-ul_bfw_ue%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"),  i);\r
             sys_save_buf_to_file_txt(filename,\r
                                 "UL Beamformig weights IQ Samples in human readable format",\r
                                 (uint8_t*) p_tx_ul_bfw_buffer[i],\r
                                 tx_ul_bfw_buffer_size[i],\r
                                 1);\r
 \r
-            sprintf(filename, "./logs/%s-ul_bfw_ue%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);\r
+            snprintf(filename, sizeof(filename),"./logs/%s-ul_bfw_ue%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);\r
             sys_save_buf_to_file(filename,\r
                                 "UL Beamformig weightsIQ Samples in binary format",\r
                                 (uint8_t*) p_tx_ul_bfw_buffer[i],\r
@@ -1712,14 +1722,14 @@ int main(int argc, char *argv[])
         }\r
 \r
         if (startupConfiguration.appMode == APP_O_RU && startupConfiguration.enablePrach){\r
-            sprintf(filename, "./logs/%s-play_prach_ant%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"),  i);\r
+            snprintf(filename, sizeof(filename), "./logs/%s-play_prach_ant%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"),  i);\r
             sys_save_buf_to_file_txt(filename,\r
                                 "PRACH IQ Samples in human readable format",\r
                                 (uint8_t*) p_tx_prach_play_buffer[i],\r
                                 tx_prach_play_buffer_size[i],\r
                                 1);\r
 \r
-            sprintf(filename, "./logs/%s-play_prach_ant%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);\r
+            snprintf(filename, sizeof(filename), "./logs/%s-play_prach_ant%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);\r
             sys_save_buf_to_file(filename,\r
                                 "PRACH IQ Samples in binary format",\r
                                 (uint8_t*) p_tx_prach_play_buffer[i],\r
@@ -1734,14 +1744,14 @@ int main(int argc, char *argv[])
            i++) {\r
 \r
 \r
-            sprintf(filename, "./logs/%s-play_srs_ant%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"),  i);\r
+            snprintf(filename, sizeof(filename), "./logs/%s-play_srs_ant%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"),  i);\r
             sys_save_buf_to_file_txt(filename,\r
                             "SRS IQ Samples in human readable format",\r
                             (uint8_t*) p_tx_srs_play_buffer[i],\r
                             tx_srs_play_buffer_size[i],\r
                             1);\r
 \r
-            sprintf(filename, "./logs/%s-play_srs_ant%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);\r
+            snprintf(filename,sizeof(filename), "./logs/%s-play_srs_ant%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);\r
             sys_save_buf_to_file(filename,\r
                                 "SRS IQ Samples in binary format",\r
                                 (uint8_t*) p_tx_srs_play_buffer[i],\r
@@ -2026,7 +2036,7 @@ int main(int argc, char *argv[])
         exit(-1);\r
     }\r
 \r
-    sprintf(filename, "mlog-%s", startupConfiguration.appMode == 0 ? "o-du" : "o-ru");\r
+    snprintf(filename, sizeof(filename),"mlog-%s", startupConfiguration.appMode == 0 ? "o-du" : "o-ru");\r
 \r
     /* MLogOpen(0, 32, 0, 0xFFFFFFFF, filename);*/\r
 \r
@@ -2186,14 +2196,14 @@ int main(int argc, char *argv[])
 \r
     for (i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {\r
 \r
-        sprintf(filename, "./logs/%s-rx_log_ant%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"),  i);\r
+        snprintf(filename, sizeof(filename), "./logs/%s-rx_log_ant%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"),  i);\r
         sys_save_buf_to_file_txt(filename,\r
                             "UL FFT OUT IQ Samples in human readable format",\r
                             (uint8_t*) p_rx_log_buffer[i],\r
                             rx_log_buffer_size[i],\r
                             1);\r
 \r
-        sprintf(filename, "./logs/%s-rx_log_ant%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);\r
+        snprintf(filename, sizeof(filename), "./logs/%s-rx_log_ant%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);\r
         sys_save_buf_to_file(filename,\r
                             "UL FFT OUT IQ Samples in binary format",\r
                             (uint8_t*) p_rx_log_buffer[i],\r
@@ -2205,14 +2215,14 @@ int main(int argc, char *argv[])
         for(i = 0;\r
         i < MAX_ANT_CARRIER_SUPPORTED_CAT_B && i < (uint32_t)(numCCPorts * startupConfiguration.antElmTRx);\r
         i++) {\r
-            sprintf(filename, "./logs/%s-srs_log_ant%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"),  i);\r
+            snprintf(filename, sizeof(filename), "./logs/%s-srs_log_ant%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"),  i);\r
             sys_save_buf_to_file_txt(filename,\r
                                 "SRS UL FFT OUT IQ Samples in human readable format",\r
                                 (uint8_t*) p_srs_log_buffer[i],\r
                                 srs_log_buffer_size[i],\r
                                 1);\r
 \r
-            sprintf(filename, "./logs/%s-srs_log_ant%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);\r
+            snprintf(filename, sizeof(filename),  "./logs/%s-srs_log_ant%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);\r
             sys_save_buf_to_file(filename,\r
                                 "SRS UL FFT OUT IQ Samples in binary format",\r
                                 (uint8_t*) p_srs_log_buffer[i],\r
@@ -2253,14 +2263,14 @@ int main(int argc, char *argv[])
 \r
         for (i = 0; i < MAX_ANT_CARRIER_SUPPORTED && i < (uint32_t)(numCCPorts * num_eAxc); i++) {\r
 \r
-            sprintf(filename, "./logs/%s-prach_log_ant%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"),  i);\r
+            snprintf(filename, sizeof(filename), "./logs/%s-prach_log_ant%d.txt",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"),  i);\r
             sys_save_buf_to_file_txt(filename,\r
                                 "PRACH FFT OUT IQ Samples in human readable format",\r
                                 (uint8_t*) p_prach_log_buffer[i],\r
                                 prach_log_buffer_size[i],\r
                                 1);\r
 \r
-            sprintf(filename, "./logs/%s-prach_log_ant%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);\r
+            snprintf(filename, sizeof(filename), "./logs/%s-prach_log_ant%d.bin",((startupConfiguration.appMode == APP_O_DU) ? "o-du" : "o-ru"), i);\r
             sys_save_buf_to_file(filename,\r
                                 "PRACH FFT OUT IQ Samples in binary format",\r
                                 (uint8_t*) p_prach_log_buffer[i],\r