/* This file handles slot indication */
-#include <stdio.h>
-#include <unistd.h>
-#include <pthread.h>
+#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");
+ }
}
}