
Repository for CDMS code
Dependencies: SimpleDMA mbed-rtos mbed eeprom
Fork of COM_MNG_TMTC_SIMPLE by
Revision 159:9951e803975f, committed 2016-04-13
- Comitter:
- ee12b079
- Date:
- Wed Apr 13 19:38:09 2016 +0000
- Parent:
- 158:6afad8428e82
- Commit message:
- interfaced with pl, i2c working with double interrupt theory
Changed in this revision
--- a/COM_MNG_TMTC.h Wed Apr 13 14:25:48 2016 +0000 +++ b/COM_MNG_TMTC.h Wed Apr 13 19:38:09 2016 +0000 @@ -1005,7 +1005,7 @@ } else { - PL_TM_SIZE = TM_SHORT_SIZE; + PL_TM_SIZE = TM_LONG_SIZE; } if(GETshort_or_long_tc(tc_ptr) == LONG_TC_CODE) @@ -1015,15 +1015,10 @@ FCTN_I2C_WRITE_PL((char*)tc_ptr->TC_string,TC_SHORT_SIZE); } - while(1) { - gLEDG = !gLEDG; - t_pl.start(); if(rcv_isr == 1) { - gPC.printf("read_ack = %d",read_ack); - t_pl.stop(); //gPC.printf("i2c_t = %d",t_pl.read_ms()); for(int i = 0;i< PL_TM_SIZE;i++) tm_pointer->TM_string[i] = PL_I2C_DATA[i];
--- a/i2c.h Wed Apr 13 14:25:48 2016 +0000 +++ b/i2c.h Wed Apr 13 19:38:09 2016 +0000 @@ -2,8 +2,8 @@ #define tc_len 135 #define tc_test_len 135 -InterruptIn irpt_4m_slv(D3); //I2c interrupt from CDMS -DigitalOut irpt_2_slv(D4); //I2C interrupt to CDMS +//InterruptIn irpt_4m_slv(D3); //I2c interrupt from CDMS +//DigitalOut irpt_2_slv(D4); //I2C interrupt to CDMS //I2C master(PTC9,PTC8); const int addr = 0x20; //slave address const int addr_pl = 0x20<<1; //PL slave address @@ -27,79 +27,6 @@ } } -void FCTN_I2C_READ_PL(char *data,int length) -{ - //t_read.start(); - read_ack = master.read(addr_pl|1,data,length); - //t_read.stop(); - uint8_t len = 0; - - printf("\n\r i2c data : \n\n\r\r"); - while(len != length) printf("%c",data[len]); - printf(" \n\n\r\r"); - if(read_ack == 0) - printf("\n\rData received from PL %s \n",data); - if (read_ack == 1) - { -// gLEDR = 1; - printf("\n \r data not received from PL\n"); -// gLEDR = 0; - } -//if(read_ack == 1) -//pc.printf("\n \r data not received \n"); - //printf("\n\r %d \n",t.read_us()); - //t.reset(); -} - -void FCTN_I2C_READ(char *data,int length, int addr) -{ - irpt_2_slv = 1; - //t_read.start(); - read_ack = master.read(addr|1,data,length); - //t_read.stop(); - - //if(read_ack == 0) - // printf("\n\rData received from BAE %s \n",data); - if (read_ack == 1) - { - printf("\n \r data not received \n"); - } -//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(); -} - -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) - //gPC.printf("\n\r data not sent \n"); - -if (write_ack == 0) - { -// led2 = 1; - //gPC.printf("\n\r data not sent \n"); -// led2 = 0; - } - irpt_2_slv = 0; - //gPC.printf("\n\r %d \n",t.read_us()); - //t.reset(); -} - - - - - - - - - void isr_pyldtm() {
--- a/main.cpp Wed Apr 13 14:25:48 2016 +0000 +++ b/main.cpp Wed Apr 13 19:38:09 2016 +0000 @@ -5,8 +5,7 @@ uint8_t rcv_isr = 0; // flag for interrupt #define DEBUG 1 -#define SDCARD 1 -#define I2C_PL 0 +#define SDCARD 0 #include "SimpleDMA.h"