hey
Dependencies: SDFileSystem mbed-rtos mbed
Fork of CDMS_BAE by
main.cpp@8:4acac3bf5e9b, 2015-02-06 (annotated)
- 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?
User | Revision | Line number | New 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 |