cdms b4 check

Dependencies:   SDFileSystem mbed-rtos mbed

Fork of CDMS_BAE_1 by sakthi priya amirtharaj

Committer:
sakthipriya
Date:
Wed Mar 11 15:58:24 2015 +0000
Revision:
10:f9d11e047bb1
Parent:
8:4acac3bf5e9b
cdms b4 check

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pradeepvk2208 6:ee97f01e6b7d 1 #include "mbed.h"
pradeepvk2208 6:ee97f01e6b7d 2 #include "rtos.h"
pradeepvk2208 6:ee97f01e6b7d 3 #include "hk.h"
sakthipriya 7:60e940b7a36b 4 #include "i2c.h"
pradeepvk2208 6:ee97f01e6b7d 5 InterruptIn data_ready(D10);
sakthipriya 7:60e940b7a36b 6 InterruptIn data_ready1(D3);
pradeepvk2208 6:ee97f01e6b7d 7 int init=0;
pradeepvk2208 6:ee97f01e6b7d 8 char data_receive[25];
pradeepvk2208 6:ee97f01e6b7d 9
sakthipriya 7:60e940b7a36b 10 extern DigitalOut interrupt;
sakthipriya 7:60e940b7a36b 11 extern I2C master;
pradeepvk2208 6:ee97f01e6b7d 12
pradeepvk2208 6:ee97f01e6b7d 13 Thread * ptr_t_hk;
pradeepvk2208 6:ee97f01e6b7d 14 Thread * ptr_t_i2c1;
sakthipriya 8:4acac3bf5e9b 15 Thread * ptr_t_i2c;
sakthipriya 10:f9d11e047bb1 16
sakthipriya 10:f9d11e047bb1 17 /*void FUNC_HK_DATA()
pradeepvk2208 6:ee97f01e6b7d 18 {
pradeepvk2208 6:ee97f01e6b7d 19 storedata(data_receive,25);
sakthipriya 7:60e940b7a36b 20 }*/
pradeepvk2208 6:ee97f01e6b7d 21 void FUNC_SCIENCE_DATA()
pradeepvk2208 6:ee97f01e6b7d 22 {
pradeepvk2208 6:ee97f01e6b7d 23 printf("Saved Science in SD");
pradeepvk2208 6:ee97f01e6b7d 24 }
pradeepvk2208 6:ee97f01e6b7d 25
sakthipriya 7:60e940b7a36b 26 /*void T_I2C_HK(void const *args)
pradeepvk2208 6:ee97f01e6b7d 27 {
pradeepvk2208 6:ee97f01e6b7d 28
pradeepvk2208 6:ee97f01e6b7d 29 while(1)
pradeepvk2208 6:ee97f01e6b7d 30 {
pradeepvk2208 6:ee97f01e6b7d 31 Thread::signal_wait(0x1);
pradeepvk2208 6:ee97f01e6b7d 32 FUNC_HK_DATA();
pradeepvk2208 6:ee97f01e6b7d 33 }
sakthipriya 7:60e940b7a36b 34 }*/
pradeepvk2208 6:ee97f01e6b7d 35
pradeepvk2208 6:ee97f01e6b7d 36 void T_I2C_MASTER_FSLAVE1(void const *args)
pradeepvk2208 6:ee97f01e6b7d 37 {
pradeepvk2208 6:ee97f01e6b7d 38 while(1)
pradeepvk2208 6:ee97f01e6b7d 39 {
pradeepvk2208 6:ee97f01e6b7d 40 Thread::signal_wait(0x2);
pradeepvk2208 6:ee97f01e6b7d 41 FUNC_SCIENCE_DATA();
pradeepvk2208 6:ee97f01e6b7d 42 }
pradeepvk2208 6:ee97f01e6b7d 43 }
sakthipriya 7:60e940b7a36b 44
sakthipriya 7:60e940b7a36b 45 void T_I2C_MASTER_FSLAVE(void const *args)
sakthipriya 7:60e940b7a36b 46 {
sakthipriya 7:60e940b7a36b 47 char data_receive[25];
sakthipriya 7:60e940b7a36b 48 while(1)
sakthipriya 7:60e940b7a36b 49 {
sakthipriya 7:60e940b7a36b 50 Thread::signal_wait(0x1);
sakthipriya 7:60e940b7a36b 51
sakthipriya 7:60e940b7a36b 52
sakthipriya 7:60e940b7a36b 53 FUNC_I2C_MASTER_FSLAVE(data_receive,25);
sakthipriya 7:60e940b7a36b 54 /*i2c_data * i2c_data_r = i2c_data_receive.alloc();
sakthipriya 7:60e940b7a36b 55 strcpy(i2c_data_r->data , data_receive);
sakthipriya 7:60e940b7a36b 56 i2c_data_r->length = 25;
sakthipriya 7:60e940b7a36b 57 i2c_data_receive.put(i2c_data_r);*/
sakthipriya 7:60e940b7a36b 58 printf("\n Data received from slave is %s\n\r",data_receive);
sakthipriya 10:f9d11e047bb1 59 storedata(data_receive);
sakthipriya 10:f9d11e047bb1 60 //TC_DECODE(data_receive);
sakthipriya 7:60e940b7a36b 61 }
sakthipriya 7:60e940b7a36b 62 }
sakthipriya 7:60e940b7a36b 63
pradeepvk2208 6:ee97f01e6b7d 64 void FUNC_INT()
pradeepvk2208 6:ee97f01e6b7d 65 {
pradeepvk2208 6:ee97f01e6b7d 66
sakthipriya 8:4acac3bf5e9b 67 ptr_t_i2c->signal_set(0x1);
pradeepvk2208 6:ee97f01e6b7d 68
pradeepvk2208 6:ee97f01e6b7d 69 }
pradeepvk2208 6:ee97f01e6b7d 70 void FUNC_INT1()
pradeepvk2208 6:ee97f01e6b7d 71 {
pradeepvk2208 6:ee97f01e6b7d 72
pradeepvk2208 6:ee97f01e6b7d 73 ptr_t_i2c1->signal_set(0x2);
pradeepvk2208 6:ee97f01e6b7d 74
pradeepvk2208 6:ee97f01e6b7d 75 }
pradeepvk2208 6:ee97f01e6b7d 76
pradeepvk2208 6:ee97f01e6b7d 77
pradeepvk2208 6:ee97f01e6b7d 78 int main()
pradeepvk2208 6:ee97f01e6b7d 79
pradeepvk2208 6:ee97f01e6b7d 80 {
pradeepvk2208 6:ee97f01e6b7d 81 if(init==0)
pradeepvk2208 6:ee97f01e6b7d 82 {
pradeepvk2208 6:ee97f01e6b7d 83 init_rtc();
pradeepvk2208 6:ee97f01e6b7d 84 init++;
pradeepvk2208 6:ee97f01e6b7d 85 }
sakthipriya 7:60e940b7a36b 86 interrupt=0;
sakthipriya 7:60e940b7a36b 87 //ptr_t_hk = new Thread (T_I2C_HK);
pradeepvk2208 6:ee97f01e6b7d 88 data_ready.rise(&FUNC_INT);
pradeepvk2208 6:ee97f01e6b7d 89 ptr_t_i2c1= new Thread (T_I2C_MASTER_FSLAVE1);
pradeepvk2208 6:ee97f01e6b7d 90 data_ready1.rise(&FUNC_INT1);
sakthipriya 7:60e940b7a36b 91
sakthipriya 8:4acac3bf5e9b 92 ptr_t_i2c = new Thread(T_I2C_MASTER_FSLAVE);
sakthipriya 7:60e940b7a36b 93 // data_ready.rise(&FUNC_INT);
sakthipriya 7:60e940b7a36b 94 printf("\nstarted master\n");
sakthipriya 7:60e940b7a36b 95 master.frequency(100000);
sakthipriya 7:60e940b7a36b 96 while(1)
sakthipriya 7:60e940b7a36b 97 { //Thread::wait(9000);
sakthipriya 7:60e940b7a36b 98 //interrupt = 1;
sakthipriya 7:60e940b7a36b 99
sakthipriya 7:60e940b7a36b 100 FUNC_MASTER_WRITE();
sakthipriya 7:60e940b7a36b 101 //interrupt = 0;
sakthipriya 7:60e940b7a36b 102 ;
sakthipriya 7:60e940b7a36b 103 }
pradeepvk2208 6:ee97f01e6b7d 104 }
duke970 0:d5e352a3ea98 105
pradeepvk2208 3:6cde88f8c50f 106
pradeepvk2208 1:d360ad53f8fd 107
duke970 0:d5e352a3ea98 108