X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fphy_stub%2Fl1_bdy2.c;h=2edaa5b1a8180d6a29cb98b61e8e6a5f0cb56dcf;hb=528b3d3a09d7486a0c549820bac601db60fde18e;hp=d45ede3a9330888ca1c6fedc48a4db34a8dfa9ee;hpb=b490cd1231cfcc837e8bfccc40c6bb106dceef7c;p=o-du%2Fl2.git diff --git a/src/phy_stub/l1_bdy2.c b/src/phy_stub/l1_bdy2.c index d45ede3a9..2edaa5b1a 100644 --- a/src/phy_stub/l1_bdy2.c +++ b/src/phy_stub/l1_bdy2.c @@ -18,36 +18,50 @@ /* This file handles slot indication */ -#include -#include -#include +#include "common_def.h" #include "lphy_stub.h" #include "du_log.h" uint16_t l1BuildAndSendSlotIndication(); +pthread_t thread = 0; void *GenerateTicks(void *arg) { - uint8_t counter = 100; - while(counter) + int milisec = 1; /* 1ms */ + struct timespec req = {0}; + + req.tv_sec = 0; + req.tv_nsec = milisec * 1000000L; + + while(1) { - sleep(1); - DU_LOG("\n\nPHY_STUB: SLOT indication"); + nanosleep(&req, (struct timespec *)NULL); + /* Send Slot indication indication to lower mac */ l1BuildAndSendSlotIndication(); - counter--; } + return((void *)NULLP); } -void duStartSlotIndicaion() +void l1HdlSlotIndicaion(bool stopSlotInd) { - pthread_t thread; int ret; - ret = pthread_create(&thread, NULL, GenerateTicks, NULL); - if(ret) + if(!stopSlotInd) + { + ret = pthread_create(&thread, NULL, GenerateTicks, NULL); + if(ret) + { + DU_LOG("\nPHY_STUB: Unable to create thread"); + } + } + else { - DU_LOG("\nPHY_STUB: Unable to create thread"); + ret = pthread_cancel(thread); + if(ret) + { + DU_LOG("\nPHY_STUB: Unable to stop thread"); + } } }