things are working
Dependencies: FreescaleIAP mbed-rtos mbed
Fork of CDMS_DEC_2016_jan by
i2c.cpp
- Committer:
- cholletisaik777
- Date:
- 2015-12-16
- Revision:
- 0:bcbd76c86cde
- Child:
- 1:ad3b8a8032e2
File content as of revision 0:bcbd76c86cde:
#include "mbed.h" #include "pinconfig.h" #include "rtos.h" #include "i2c.h" DigitalOut irpt_2_slv(PIN67); //I2C interrupt to CDMS I2C master(PIN32,PIN31); DigitalOut led1(PIN46); DigitalOut led2(PIN95); const int addr = 0x20; //slave address char telecommand[tc_len]; char telemetry[tm_len]; Timer test; Timer t_read; bool write_ack = true; bool read_ack = true; int count = 0; void FCTN_I2C_WRITE(char *data) { irpt_2_slv = 1; //t.start(); write_ack = master.write(addr|0x00,data,tc_len); //t.stop(); //if(write_ack == 0) //pc.printf("\n\r data not sent \n"); if (write_ack == 1) { led2 = 1; printf("\n\r data not sent \n"); led2 = 0; } irpt_2_slv = 0; //pc.printf("\n\r %d \n",t.read_us()); //t.reset(); } void FCTN_I2C_READ(char *data) { irpt_2_slv = 1; t_read.start(); read_ack = master.read(addr|1,data,tm_len); t_read.stop(); //if(read_ack == 0) // printf("\n\rData received from BAE %s \n",data); if (read_ack == 1) { led2 = 1; printf("\n \r data not received \n"); led2 = 0; } //if(read_ack == 1) //pc.printf("\n \r data not received \n"); irpt_2_slv = 0; //printf("\n\r %d \n",t.read_us()); //t.reset(); }