Added fix for SSB and SIB1 repeatition
[o-du/l2.git] / src / phy_stub / phy_stub_thread_hdl.c
index e76c067..f320001 100644 (file)
@@ -23,6 +23,7 @@
 #include "du_log.h"
 
 uint8_t l1SendUlUserData();
+uint8_t l1SendStatusPdu();
 uint16_t l1BuildAndSendSlotIndication();
 pthread_t thread = 0;
 
@@ -43,7 +44,11 @@ pthread_t thread = 0;
  * ****************************************************************/
 void *GenerateTicks(void *arg)
 {
-   int     milisec = 1;        /* 1ms */
+#ifdef NR_TDD
+   int     milisec = 0.5;        /* 0.5ms */
+#else
+   int     milisec = 1;          /* 1ms */
+#endif
    struct timespec req = {0};
 
    req.tv_sec = 0;
@@ -51,8 +56,7 @@ void *GenerateTicks(void *arg)
 
    while(1)
    {
-      nanosleep(&req, (struct timespec *)NULL);
-      
+      clock_nanosleep(CLOCK_REALTIME, 0, &req, NULL); 
       /* Send Slot indication indication to lower mac */
       l1BuildAndSendSlotIndication();
    }
@@ -123,6 +127,12 @@ void *l1ConsoleHandler(void *args)
          DU_LOG("\nDEBUG  --> PHY STUB: Sending UL User Data");
          l1SendUlUserData();
       }
+      else if((ch = getchar()) == 'c')
+      {
+         /* Send Control PDU from PHY stub to DU */
+        DU_LOG("\nDEBUG  --> PHY STUB: Sending Status PDU");
+        l1SendStatusPdu();
+      }
    }
 }