lolly

Dependencies:   mbed-rtos mbed

Fork of cdms_rtos_summer_lite by Pradeep Kotipalli

Committer:
pradeepvk2208
Date:
Mon Jun 08 11:14:41 2015 +0000
Revision:
1:d89391152298
Parent:
0:0e52cd8d26c8
Child:
2:5b3bd8bd753f
gyfififu;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pradeepvk2208 0:0e52cd8d26c8 1 #include "mbed.h"
pradeepvk2208 0:0e52cd8d26c8 2 #include "rtos.h"
pradeepvk2208 0:0e52cd8d26c8 3
pradeepvk2208 0:0e52cd8d26c8 4 Serial pc(USBTX, USBRX);
pradeepvk2208 0:0e52cd8d26c8 5
pradeepvk2208 0:0e52cd8d26c8 6
pradeepvk2208 0:0e52cd8d26c8 7 Thread *ptr_hk_bae;
pradeepvk2208 0:0e52cd8d26c8 8 Thread *ptr_hk_cdms;
pradeepvk2208 0:0e52cd8d26c8 9 Thread *ptr_hk_payload;
pradeepvk2208 0:0e52cd8d26c8 10
pradeepvk2208 0:0e52cd8d26c8 11 Timer t1;
pradeepvk2208 0:0e52cd8d26c8 12
pradeepvk2208 0:0e52cd8d26c8 13
pradeepvk2208 0:0e52cd8d26c8 14
pradeepvk2208 0:0e52cd8d26c8 15 void HK_BAE(void const *args)
pradeepvk2208 0:0e52cd8d26c8 16 {
pradeepvk2208 0:0e52cd8d26c8 17 while(1)
pradeepvk2208 0:0e52cd8d26c8 18 {
pradeepvk2208 0:0e52cd8d26c8 19 Thread::signal_wait(0x1);
pradeepvk2208 1:d89391152298 20 printf("Entered HK_BAE\n");
pradeepvk2208 0:0e52cd8d26c8 21 }
pradeepvk2208 0:0e52cd8d26c8 22 }
pradeepvk2208 0:0e52cd8d26c8 23 void HK_CDMS(void const *args)
pradeepvk2208 0:0e52cd8d26c8 24 {
pradeepvk2208 0:0e52cd8d26c8 25 while(1)
pradeepvk2208 0:0e52cd8d26c8 26 {
pradeepvk2208 0:0e52cd8d26c8 27 Thread::signal_wait(0x2);
pradeepvk2208 1:d89391152298 28 printf("Entered HK_CDMS\n");
pradeepvk2208 1:d89391152298 29 printf("hi");
pradeepvk2208 1:d89391152298 30 printf("heressffhdng\n");
pradeepvk2208 1:d89391152298 31 printf("portable\n");
pradeepvk2208 0:0e52cd8d26c8 32 }
pradeepvk2208 0:0e52cd8d26c8 33 }
pradeepvk2208 0:0e52cd8d26c8 34 void HK_PAYLOAD(void const *args)
pradeepvk2208 0:0e52cd8d26c8 35 {
pradeepvk2208 0:0e52cd8d26c8 36 while(1)
pradeepvk2208 0:0e52cd8d26c8 37 {
pradeepvk2208 0:0e52cd8d26c8 38 Thread::signal_wait(0x3);
pradeepvk2208 1:d89391152298 39 printf("Entered HK_PAYLOAD\n");
pradeepvk2208 0:0e52cd8d26c8 40 }
pradeepvk2208 0:0e52cd8d26c8 41 }
pradeepvk2208 0:0e52cd8d26c8 42
pradeepvk2208 0:0e52cd8d26c8 43 uint16_t schedcount=1;
pradeepvk2208 0:0e52cd8d26c8 44
pradeepvk2208 0:0e52cd8d26c8 45 void T_SC(void const *args)
pradeepvk2208 0:0e52cd8d26c8 46 {
pradeepvk2208 0:0e52cd8d26c8 47
pradeepvk2208 0:0e52cd8d26c8 48 printf("The value of i in scheduler is %d\n",schedcount);
pradeepvk2208 0:0e52cd8d26c8 49 if(schedcount == 65532) //to reset the counter
pradeepvk2208 0:0e52cd8d26c8 50 {
pradeepvk2208 0:0e52cd8d26c8 51 schedcount = 0;
pradeepvk2208 0:0e52cd8d26c8 52 }
pradeepvk2208 0:0e52cd8d26c8 53
pradeepvk2208 0:0e52cd8d26c8 54 if(schedcount%20==0)
pradeepvk2208 0:0e52cd8d26c8 55 {
pradeepvk2208 0:0e52cd8d26c8 56 ptr_hk_bae -> signal_set(0x1);
pradeepvk2208 0:0e52cd8d26c8 57 ptr_hk_cdms -> signal_set(0x2);
pradeepvk2208 0:0e52cd8d26c8 58 ptr_hk_payload -> signal_set(0x3);
pradeepvk2208 0:0e52cd8d26c8 59 }
pradeepvk2208 0:0e52cd8d26c8 60 schedcount++;
pradeepvk2208 0:0e52cd8d26c8 61 }
pradeepvk2208 0:0e52cd8d26c8 62
pradeepvk2208 0:0e52cd8d26c8 63
pradeepvk2208 0:0e52cd8d26c8 64 int main()
pradeepvk2208 0:0e52cd8d26c8 65 {
pradeepvk2208 0:0e52cd8d26c8 66 ptr_hk_bae = new Thread (HK_BAE);
pradeepvk2208 0:0e52cd8d26c8 67 ptr_hk_cdms=new Thread (HK_CDMS);
pradeepvk2208 0:0e52cd8d26c8 68 ptr_hk_payload=new Thread (HK_PAYLOAD);
pradeepvk2208 0:0e52cd8d26c8 69
pradeepvk2208 0:0e52cd8d26c8 70 ptr_hk_bae->set_priority(osPriorityAboveNormal);
pradeepvk2208 0:0e52cd8d26c8 71 ptr_hk_cdms->set_priority(osPriorityHigh);
pradeepvk2208 0:0e52cd8d26c8 72 ptr_hk_payload->set_priority(osPriorityNormal);
pradeepvk2208 0:0e52cd8d26c8 73
pradeepvk2208 0:0e52cd8d26c8 74 printf("\n T_HK_BAE priority is %d",ptr_hk_bae->get_priority());
pradeepvk2208 0:0e52cd8d26c8 75 printf("\n T_HK_CDMS priority is %d",ptr_hk_cdms->get_priority());
pradeepvk2208 0:0e52cd8d26c8 76 printf("\n T_HK_PAYLOAD priority is %d",ptr_hk_payload->get_priority());
pradeepvk2208 0:0e52cd8d26c8 77
pradeepvk2208 0:0e52cd8d26c8 78 RtosTimer t_sc_timer(T_SC,osTimerPeriodic);
pradeepvk2208 0:0e52cd8d26c8 79 t_sc_timer.start(1000);
pradeepvk2208 0:0e52cd8d26c8 80
pradeepvk2208 1:d89391152298 81
pradeepvk2208 0:0e52cd8d26c8 82 while(1)
pradeepvk2208 0:0e52cd8d26c8 83 {
pradeepvk2208 0:0e52cd8d26c8 84 Thread::wait(5000);
pradeepvk2208 0:0e52cd8d26c8 85 }
pradeepvk2208 0:0e52cd8d26c8 86
pradeepvk2208 0:0e52cd8d26c8 87
pradeepvk2208 0:0e52cd8d26c8 88
pradeepvk2208 0:0e52cd8d26c8 89 }
pradeepvk2208 0:0e52cd8d26c8 90
pradeepvk2208 0:0e52cd8d26c8 91