sd 32 update

Dependencies:   FreescaleIAP mbed-rtos mbed

Fork of COM_MNG_TMTC_SIMPLE by Shreesha S

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers i2c.h Source File

i2c.h

00001 #define tm_len 134
00002 #define tc_len 135
00003 #define tc_test_len 135
00004 
00005 DigitalOut irpt_2_slv(PIN67);                                        //I2C interrupt to CDMS
00006 I2C master(PIN32,PIN31);
00007 DigitalOut led1(PIN46);
00008 DigitalOut led2(PIN95);
00009 const int addr = 0x20;                                            //slave address 
00010 char telecommand[tc_len];
00011 char telemetry[tm_len];
00012 Timer test;
00013 Timer t_read;
00014 bool write_ack = true;
00015 bool read_ack = true;
00016 
00017 int count = 0;
00018 
00019 void FCTN_I2C_WRITE(char *data)
00020 {
00021     irpt_2_slv = 1;
00022     //t.start();
00023     write_ack = master.write(addr|0x00,data,tc_len);
00024     //t.stop();
00025     //if(write_ack == 0)
00026         //pc.printf("\n\r data not sent \n");
00027        
00028 if (write_ack == 1)
00029     {
00030         led2 = 1;
00031         printf("\n\r data not sent \n");
00032         led2 = 0;    
00033     }
00034     irpt_2_slv = 0;
00035     //pc.printf("\n\r %d \n",t.read_us());
00036     //t.reset();
00037 }
00038 
00039 
00040 void FCTN_I2C_READ(char *data)
00041 {
00042     irpt_2_slv = 1; 
00043     t_read.start();
00044     read_ack = master.read(addr|1,data,tm_len);
00045     t_read.stop();
00046    
00047     //if(read_ack == 0)
00048       //  printf("\n\rData received from BAE %s \n",data);
00049  if (read_ack == 1)
00050     {
00051         led2 = 1;
00052         printf("\n \r data not received \n");
00053         led2 = 0;
00054     }
00055 //if(read_ack == 1)
00056 //pc.printf("\n \r data not received \n");
00057 
00058     irpt_2_slv = 0;
00059     //printf("\n\r %d \n",t.read_us());
00060     //t.reset();
00061 }