hey

Dependencies:   SDFileSystem mbed-rtos mbed

Fork of CDMS_BAE by sakthi priya amirtharaj

Committer:
sakthipriya
Date:
Fri Feb 06 18:12:16 2015 +0000
Revision:
8:4acac3bf5e9b
Parent:
7:60e940b7a36b
working cdms withut rtc

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 7:60e940b7a36b 16 /*
pradeepvk2208 6:ee97f01e6b7d 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 8:4acac3bf5e9b 59 TC_DECODE(data_receive);
sakthipriya 7:60e940b7a36b 60 }
sakthipriya 7:60e940b7a36b 61 }
sakthipriya 7:60e940b7a36b 62
pradeepvk2208 6:ee97f01e6b7d 63 void FUNC_INT()
pradeepvk2208 6:ee97f01e6b7d 64 {
pradeepvk2208 6:ee97f01e6b7d 65
sakthipriya 8:4acac3bf5e9b 66 ptr_t_i2c->signal_set(0x1);
pradeepvk2208 6:ee97f01e6b7d 67
pradeepvk2208 6:ee97f01e6b7d 68 }
pradeepvk2208 6:ee97f01e6b7d 69 void FUNC_INT1()
pradeepvk2208 6:ee97f01e6b7d 70 {
pradeepvk2208 6:ee97f01e6b7d 71
pradeepvk2208 6:ee97f01e6b7d 72 ptr_t_i2c1->signal_set(0x2);
pradeepvk2208 6:ee97f01e6b7d 73
pradeepvk2208 6:ee97f01e6b7d 74 }
pradeepvk2208 6:ee97f01e6b7d 75
pradeepvk2208 6:ee97f01e6b7d 76
pradeepvk2208 6:ee97f01e6b7d 77 int main()
pradeepvk2208 6:ee97f01e6b7d 78
pradeepvk2208 6:ee97f01e6b7d 79 {
pradeepvk2208 6:ee97f01e6b7d 80 if(init==0)
pradeepvk2208 6:ee97f01e6b7d 81 {
pradeepvk2208 6:ee97f01e6b7d 82 init_rtc();
pradeepvk2208 6:ee97f01e6b7d 83 init++;
pradeepvk2208 6:ee97f01e6b7d 84 }
sakthipriya 7:60e940b7a36b 85 interrupt=0;
sakthipriya 7:60e940b7a36b 86 //ptr_t_hk = new Thread (T_I2C_HK);
pradeepvk2208 6:ee97f01e6b7d 87 data_ready.rise(&FUNC_INT);
pradeepvk2208 6:ee97f01e6b7d 88 ptr_t_i2c1= new Thread (T_I2C_MASTER_FSLAVE1);
pradeepvk2208 6:ee97f01e6b7d 89 data_ready1.rise(&FUNC_INT1);
sakthipriya 7:60e940b7a36b 90
sakthipriya 8:4acac3bf5e9b 91 ptr_t_i2c = new Thread(T_I2C_MASTER_FSLAVE);
sakthipriya 7:60e940b7a36b 92 // data_ready.rise(&FUNC_INT);
sakthipriya 7:60e940b7a36b 93 printf("\nstarted master\n");
sakthipriya 7:60e940b7a36b 94 master.frequency(100000);
sakthipriya 7:60e940b7a36b 95 while(1)
sakthipriya 7:60e940b7a36b 96 { //Thread::wait(9000);
sakthipriya 7:60e940b7a36b 97 //interrupt = 1;
sakthipriya 7:60e940b7a36b 98
sakthipriya 7:60e940b7a36b 99 FUNC_MASTER_WRITE();
sakthipriya 7:60e940b7a36b 100 //interrupt = 0;
sakthipriya 7:60e940b7a36b 101 ;
sakthipriya 7:60e940b7a36b 102 }
pradeepvk2208 6:ee97f01e6b7d 103 }
duke970 0:d5e352a3ea98 104
pradeepvk2208 3:6cde88f8c50f 105
pradeepvk2208 1:d360ad53f8fd 106
duke970 0:d5e352a3ea98 107